迭代器:用于遍历集合,从集合中取数据;
java中的迭代器说简单点就是为了计数用的,包括递归也是的,都是用于集合中的;
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
/** java.util.Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
Integer i = iterator.next();
System.out.println(i);
}
iterator.next();
iterator.remove();
System.out.println(list.size());
*/
ListIterator<Integer> iterator = list.listIterator();
//像数组内添加元素100
iterator.add(100);
//将指针向下移两格
iterator.next();
iterator.next();
//指针移到指定位置后,设置值
iterator.set(200);
iterator.previous();
//打印添加后的数组内元素
System.out.println(list.size());
//将指针向上移两格
iterator.previous();
iterator.previous();
//打印列表的元素
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
注意:
1. iterator比较通用,包括set和map方法中也可以,而ListIterator只能用于list集合中。
2.. 当使用iterator时,操作增加的时候,因为iterator是单向的,查询的时候会从开始出查询,忽然之间你增加了一个改变了位置,它就不知道了;
而另一种方式ListIterator,nextIndex()方法和previousIndex()方法可以当前定位索引功能,再具体的位置后面进行添加。
因篇幅问题不能全部显示,请点此查看更多更全内容