示例展示:
package iterator; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * 迭代器 Iterator * @author superdrew * 1.专门遍历集合而生,集合里面并没有提供相关遍历的方法 * 2.提供方法 hasNext() * next() * remove() * 使用Iterator进行迭代的时候不能 用list.remove() 会 ConcurrentModificationException * ConcurrentModificationException * 删除方法 是用 Iterator提供的remove方法 * 3.for-each 与 Iterator的联系 * for-each遍历集合,底层调用的是 Iterator * 凡事能用for-each循环(遍历集合) 也能够使用Iterator * 4.for-each 与 Iterator的区别 * for-each还能够遍历数组 * Iterator只能遍历集合 * 5.哪些集合能够使用 Iterator * Collection List Set 可以 * Map 不可以 * 实现Iterator的集合都可以用 迭代器 * 6.Iterator是一个接口,具体实现类在哪? * 在相应集合的具体实现类中 * */ public class TestIterator { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(100); list.add(89); list.add(92); list.add(97); //使用迭代器 Iterator<Integer> it = list.iterator(); while(it.hasNext()){ int num = it.next(); if(num<90){ it.remove(); System.out.print("移除的元素(即<90):" + num); } } System.out.println("\n剩下的元素有:"); //使用for-each循环 删除元素? for (Integer integer : list) { System.out.print(integer + " "); } } }
结果展示: