Iterator(迭代器对象)
- 迭代器(iterator)是一种对象, 用来遍历collection集合
1、获取iterator
1、java.lang Interface Iterable<T> 接口中提供了获取iterator的方法
-
Iterator<T>
iterator()
返回类型为T
元素的迭代器。
2、实现了这个接口的集合对象支持迭代,是可迭代的。
3、Collection接口 继承了该接口
- public interface Collection<E> extends Iterable<E>
2、迭代器常用方法
-
boolean
hasNext()
:判断集合中是否还有元素。如果有,返回true -
E
next()
:返回集合的下一个元素 -
default void
remove()
:删除迭代器返回的最后一个元素
//迭代器实现原理
Collection<Integer> coll = new ArrayList<>();
coll.add(1);
coll.add(2);
coll.add(3);
coll.add(4);
//获取迭代器
Iterator<Integer> ite = coll.iterator();//获取迭代器对象,并将指针(索引)指向集合的-1索引
while(ite.hasNext()){//判断集合中还有没有下一个元素
System.out.print(ite.next());//取出下一个元素,并将指针向后移一位
//结果 1234
}
for-each循环
- for-each循环底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写
- 可用来遍历集合/数组
- 格式:
- for(集合/数组数据类型 变量名:集合/数组名){ }
int[] array = {1, 2, 3, 4};
for (int i: array){
System.out.println(i);
}
System.out.println("===========");
ArrayList<String> list = new ArrayList<>();
list.add("张一");
list.add("张三");
list.add("张二");
list.add("张四");
for (String s : list){
System.out.println(s);
}