概述
对过程的重复,称为迭代。
迭代器是遍历Collection集合的通用方式.
迭代器的常用方法
E next():返回迭代的下一个元亲对象<br /> boolean hasNext():如果仍有元素可以迭代,则返回true
注意
列表迭代器是List体系独有的遍历方式,可以在对集合遍历的同时进行添加、删除等操作。但是必须通过调用列表迭代器的方法来实现.
使用步骤
1.通过集合对象获取其对象的迭代器对象<br /> 2.判断迭代器中是否有元素<br /> 3.如果有就获取
总结
普通的迭代器在遍历集合的同时不能添加或删除元素,否则会报并发修改错误<br /> 列表迭代器在遍历集合的同时可以修改集合中的元素(添加、删除等),必须使用列表迭代器
案例
public class IteratorDemo {public static void main(String[] args) {//需求:通过迭代器遍历List集合//1.创建集合对象List list = new ArrayList();//2.创建元素对象//3.将元素对象添加到集合对象中list.add("a");list.add("b");list.add("c");//4.遍历集合//迭代器的用法// 1.通过集合对象获取其对象的迭代器对象Iterator it = list.iterator();// 2.判断迭代器中是否有元素while (it.hasNext()){//如果迭代器中有元素就一直迭代// 3.如果有就获取String s = (String) it.next();System.out.println(s);}System.out.println("--------------");// //需求:判断集合中如果有字符串“b",就在其后添加一个新的字符串:Java// // 1.通过集合对象获取其对象的迭代器对象// Iterator it = list.iterator();// // 2.判断迭代器中是否有元素// while (it.hasNext()){//如果迭代器中有元素就一直迭代// // 3.如果有就获取// String s = (String) it.next();// if ("b".equals(s)){//这样写可以避免空指针异常// //能走到这里,说明集合中有元素b// list.add("Java");//这样写不行会报ConcurrentModificationException(并发修改异常)// }// System.out.println(s);// }// System.out.println("--------------");//需求:测试列表迭代器//需求:判断集合中如果有字符串“b",就在其后添加一个新的字符串:Java// 1.通过集合对象获取其对象的迭代器对象ListIterator lit = list.listIterator();// 2.判断迭代器中是否有元素while (lit.hasNext()){//如果迭代器中有元素就一直迭代// 3.如果有就获取String s = (String) lit.next();if ("b".equals(s)){lit.add("Java");//必须调用列表迭代器的方法实现}System.out.println(s);}System.out.println("--------------");//打印新的集合中的值System.out.println(list);}}
