Iterator<class类> it=a.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
Iterator提供了三种方法:
一、hasNext()其返回一个布尔类型的值,即如果仍有元素可以迭代则返回true;
二、next()
三、remove()
// 删除arr1中的a元素 if ("a".equals(next)) { // arr1.remove(next);//会抛出异常java.util.ConcurrentModificationException // 解决方式 // 1、结束循环 // break; // 2、使用iterator的remove()方法删除,使迭代器可预测这种结果 // it.remove(); }
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的 collection,则迭代器的行为是不确定的。
抛出:
UnsupportedOperationException
- 如果迭代器不支持 remove 操作。
IllegalStateException
- 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了 remove 方法。
// 逆向迭代(只能用于list集合) ListIterator lit = arr1.listIterator(arr1.size());//arr1.size()指定的迭代起始位置 while (lit.hasPrevious()) { Object previous = lit.previous(); System.out.println(previous); }