Skip to content

迭代器

所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现Iterator接口的对象

Iterator对象称作为迭代器,用以方便的对容器内元素的遍历操作,Iterator接口定义了如下方法:

  • boolean hashNext();//判断是否有元素没有被遍历
  • Object next();//返回游标当前位置的元素并将游标移动到下一个位置
  • void remove();//删除游标左边的元素,在执行完next之后该操作只能执行一次

问题:如何遍历Map集合呢?

方法1:通过迭代器Iterator实现遍历

获取Iterator :Collection 接口的iterator()方法

Iterator的方法:

  • boolean hasNext(): 判断是否存在另一个可访问的元素
  • Object next(): 返回要访问的下一个元素
java
Set keys = dogMap.keySet(); //取出所有key的集合
Iterator it = keys.iterator(); //获取Iterator对象
while (it.hasNext()) {
    String key = (String) it.next(); //取出key
    Dog dog = (Dog) dogMap.get(key); //根据key取出对应的值
    System.out.println(key + "\t" + dog.getStrain());
}

方法2:增强for循环

java
for(元素类型t 元素变量x : 数组或集合对象){
	引用了x的java语句
}

文章来源于自己总结和网络转载,内容如有任何问题,请大佬斧正!联系我