-----------------------java的迭代器-----------------------------------
集合的遍历:
遍历方法:
java.util
接口 Iterator<E>
所有已知子接口:
ListIterator<E>, XMLEventReader
所有已知实现类:
BeanContextSupport.BCSIterator, EventReaderDelegate, Scanner
public interface Iterator<E>
对 collection 进行迭代的迭代器。迭代器取代了 JavaCollections Framework 中的 Enumeration。迭代器与枚举有两点不同:
- 迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
- 方法名称得到了改进。
此接口是 JavaCollections Framework 的成员。
方法摘要 | |
|
|
| |
|
|
例子:
publicclassCollectionTest5 {
publicstaticvoidmain(String[] args) {
//创建一个集合
Collection coll = new ArrayList();
for (inti = 0; i < 10; i++) {
coll.add("张三" + i);
}
//创建集合的迭代器,这个迭代器只能给Coll这个集合来使用
Iterator iter = coll.iterator();
while(iter.hasNext()){
//Object obj= iter.next();
//shift + Alt+ R 可以一起修改同名的变量
String str =(String)iter.next();
System.out.println(str);
}
//迭代器只能使用一次,再次使用false
// boolean isHasNext = iter.hasNext();
// System.out.println(isHasNext);
// iter.next();
//如果要再遍历一次集合,需要再次创建一个迭代器
Iterator iter1 = coll.iterator();
while(iter1.hasNext()){
//Object obj= iter.next();
//shift + Alt+ R 可以一起修改同名的变量
String str =(String)iter1.next();
//迭代器在遍历的时候,这个集合不能做任何操作
//if("张三3".equals(str))
//coll.add("李四");
System.out.println(str);
}
}
}
结果:
张三0
张三1
张三2
张三3
张三4
张三5
张三6
张三7
张三8
张三9
张三0
张三1
张三2
张三3
张三4
张三5
张三6
张三7
张三8
张三9