Iterator 迭代器
迭代,即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,有,就把这个元素取出来,继续再判断,一直把集合中的所有元素都取出来;
- Iterator接口的常用方法如下:
- public E next(); 返回迭代的下一个元素
- public boolean hasNext(); 如果仍有元素可以迭代,返回true
Iterator接口的实现类对象获取比较特殊 Collection接口中有一个方法iterator(),返回的就是迭代器实现类对象
迭代器的使用步骤: - 使用集合中的方法 iterator() 获取迭代器实现类对象,使用Iterator接口接收
- 使用 Iterator接口中的方法hasNext()判断还有没有下一个元素
- 使用Iterator中的方法 next() 取出集合中的下一个元素
public class Demo{
Collection<String> coll = new ArrayList<>();
coll.add("1");
coll.add("2");
coll.add("3");
coll.add("4");
// 迭代器的泛型跟着集合走
Iterator<String> it = coll.iterator();
//it.hasNext(); // true
//it.next(); // 1
while(it.hasNext()){
String e = it.next();
}
}
- 增强for循环
底层使用的也是迭代器,使用for循环的格式,简化了迭代器书写
所有的单列集合都可以使用增强for
for(集合/数组的数据类型 变量名: 集合名/数组名){}int [] arr = {1,2,3,4,5}; for(int i:arr){...}