在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当 然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词的含义和这种操作比较配,在这种时候for循环比其 它循环常用得多)。
对于遍历数组,这个循环一般是采取这样的写法:
遍历数组的传统方式:
public void addIterator(){ List<String> list = new ArrayList<String>(); //List list = new ArrayList(); list.add("aa"); list.add("bb"); list.add("cc"); //for(Object ls : list) { // ls = list.get(list.size()); for(int i=0;i<list.size();i++){ String ls = (String) list.get(i); System.out.print("添加的数组是"+ls+"\n"); } } public void addIterator1() { List<String > list = new ArrayList<String>(); list.add("11"); list.add("22"); list.add("33"); for (Object ls : list) { System.out.print("添加的数组是" + ls + "\n"); }} 遍历Collection的简单方式的等价代码:
public void iterator(){ List ls = new ArrayList(); ls.add("aa"); ls.add("bb"); ls.add("cc"); for(Iterator i=ls.iterator();i.hasNext();){ String str =(String) i.next(); System.out.print(str+"\n"); } System.out.print("第二个循环"+"\n"); Iterator it = ls.iterator(); while(it.hasNext()){ String str =(String) it.next(); System.out.print(str+"\n"); } }
始终无法在Java程序里限定Collection中所能保存的对象的类型――它们全部被看成是最一般的Object对象。一直到J2SE 1.5中,引入了“泛型(Generics)”机制之后,这个问题才得到了解决。现在可以用Collection< T>来表示全部元素类型都是T的Collection。
时间: 2024-10-25 00:32:25