Iterator与ListIterator迭代器
前言
迭代器的作用就是用于遍历我们的集合,从集合中取数据。
迭代器分为两种:
1.Iteraitor:可以来迭代Collection下的所有集合,List和Set ;
2.ListIterator:只能迭代List下的集合;
Iterator方法
1.iterator.hasNext():判断下一个位置有没有数据,返回boolean类型的值
2.iterator.next():将指针箭头下移一格并获取数据
3.iterator.remove():删除当前指针箭头指向的数据
4.iterator.add(E):在指针箭头指向的位置添加数据E,后面数据下移
5.iterator.set(E):把指针箭头指向的数据改为E
注意的是:
刚开始,指针箭头指向的位置是初始数据位置的前一格;
ListIterator
ListIterator其实只是Iterator的子类;
ListIterator方法
除了拥有Iterator的所有方法外,它还有自己的方法:
1.ListIterator.previous():将指针箭头上移一格并获取数据
2.ListIterator.hasPrevious():判断上一个位置有没有数据,返回boolean类型的值
3.通过List集合的listlterator()方法得到。
4.允许任意方向遍历列表,在迭代期间修改列表,并获取列表中迭代器的当前位置。
代码示例:
public static void main(String[] args) { //创建集合对象 List<String> list = new ArrayList<String>(); //添加元素 list.add("hello"); list.add("world"); list.add("java"); //得到列表迭代器 //得到列表迭代器 ListIterator<String> lit = list.listIterator(); while (lit.hasNext()) { String s = lit.next(); System.out.println(s); } //逆向遍历 while (lit.hasPrevious()) { String s2 = lit.previous(); System.out.println(s2); } //在判断的基础上添加元素 while (lit.hasNext()){ String s = lit.next(); if (s.equals("world")){ lit.add("javaee"); } } System.out.println(list); }