迭代器
1.Iterator接口
(1)Iterator迭代器的作用:
iterator主要用于遍历Collection中的元素
(2)Iterator遍历集合的过程:
当遍历集合时,首先调用集合的iterator()方法获取迭代器对象,使用hashNext()判断是否存在下一个元素,
如果存在(hashNext.equals(true)),调用next()方法取出元素;否则停止遍历元素。
(3)Iterator迭代器的工作原理:
Iterator迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素
在Iterator的next()方法之前,迭代器的索引位于第1个元素之前,不指向任何元素。
当第一次调用迭代器的next()方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回。
当再次调用next(),迭代器的索引会指向第2个元素并将该元素返回。直到hashNext方法返回false,表示到达集合的末尾,终止对集合遍历。
当通过迭代器获取ArrayList集合中的元素时,会返回Object类型,如果想得到特定类型的元素,则需要强制类型转换。
例:
1 public class list { 2 public static void main(String[] args) { 3 List list = new ArrayList<>(); 4 list.add(10); 5 list.add(20); 6 list.add(30); 7 //获得迭代器对象 8 Iterator iterator = list.iterator(); 9 while (iterator.hasNext()) { 10 Object out = iterator.next(); 11 //强制转换int类型 12 int i = (int)out; 13 System.out.print(i+" "); 14 } 15 } 16 }