Collection<Integer>coll = new ArrayList<Integer>()
coll.add(1111)
Iterator<Integer>collIt = coll.iterator()
while(collIt.hasNext()){
System.out.println(collIt.next())
}
List<String>list = new ArrayList<String>()
list.add("123")
Iterator<String>listIt = list.iterator()
while(listIt.hasNext()){
System.out.println(listIt.next())
}
/*
-------------------华丽的分割线第二种方法
*/
//这是个不负责的设计,正确的设计应该严格控制调用的参数,切记
Collection coll2 = new ArrayList()
coll2.add("123")
coll2.add(123)
Iterator list2It = coll2.iterator()
while(list2It.hasNext()){
System.out.println(list2It.next())
}
可以反复迭代,因为 iterator() 方法每次调用返回的都是一个新的 Iterator。
比如 List 的 iterator() 的实现(在 java.util.AbstractList 中):