迭代器
collection的iterator()迭代器方法
迭代器一开始指针指向的是第一个元素之前的一个位置(空)
1、hasNext()
判断下一个位置是否还有元素,如果有返回true,但***不会移动指针***
2、next()
指针向下移动一个位置,并返回该位置的元素
//创建一个集合对象
Collection collection = new ArrayList();
//向集合添加元素
collection.add(1);
collection.add("a");
collection.add("我");
collection.add("2");
//获取迭代
Iterator it = collection.iterator();
//判断是否下一个位置是否还有
while (it.hasNext()){
//往下走,并取出该位置的元素
System.out.println(it.next());
}
3、remove()
在迭代过程中删除时使用迭代器中的该方法来删除,若是使用collection的remove()方法删除的话不能删除且会出现异常
remove()方法删除的是当前位置的元素,因此不能够在next()方法使用前使用,否则会报错,因为获取的迭代器一开始时指针指向的是第一个元素之前的位置,该位置为空,没有元素,不能进行删除操作
Collection collection04 = new ArrayList();
collection04.add(1);
collection04.add(6);
collection04.add(5);
collection04.add(1);
collection04.add(2);
//获取迭代器
Iterator it = collection04.iterator();
while (it.hasNext()) {
Object o = it.next();
System.out.println(o);
if (o.equals(5)){
//将当前位置元素删除
it.remove();
}
}