迭代器
迭代器是一个访问集合的方法
如何新建一个迭代器?
Iterator<String> it=list.iterator();
it是迭代器的名称
list是你自己建立的一个集合,你建立的迭代器it就是来操作list集合的
迭代器的一些操作
hasNext()如果仍有元素可以迭代,则返回 true。
next()返回迭代的下一个元素。
void remove()将迭代器返回的元素删除
迭代器进行迭代,并且输出:
ArrayList <String>list= new ArrayList();
list.add("12345");
list.add("asd");
list.add(0, "qwerwerw");
//注意!list集合里的元素顺序为:qwerwerw 12345 asd
Iterator<String> it=list.iterator();
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
输出结果
qwerwerw
12345
asd
删除:
如何删除list里第二个元素?
ArrayList <String>list= new ArrayList();
list.add("12345");
list.add("asd");
list.add(0, "qwerwerw");
//注意!list集合里的元素顺序为:qwerwerw 12345 asd
Iterator<String> it=list.iterator();
for(int i=0;i<2;i++) {
it.next();
}
it.remove();
System.out.println(list);
输出结果:
[qwerwerw, asd]
使用hasNext()判断是否还有元素?
ArrayList <String>list= new ArrayList();
list.add("12345");
list.add("asd");
list.add(0, "qwerwerw");
//注意!list集合里的元素顺序为:qwerwerw 12345 asd
Iterator<String> it=list.iterator();
for(int i=0;i<2;i++) {
it.next();
}
//在经过for循环后,迭代器已经到了第2个元素(第二个元素下标为1),后面还有一个元素
System.out.println(it.hasNext());
it.next();//再迭代一次,此时已经到了第三元素这里,后面没有元素了
System.out.println(it.hasNext());
输出结果:
true
false
本人水平有限,如有错误还请及时指正,谢谢。

浙公网安备 33010602011771号