Java学习:迭代器简介

Posted cainiao-chuanqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习:迭代器简介相关的知识,希望对你有一定的参考价值。

迭代器

java.util.Iterator接口:迭代器(对集合进行遍历)

有两个常用的方法

  • boolean hasNext() 如果仍有元素可以迭代,则返回 true。

判断集合中还有没有下一个元素,有就返回true,没有就返回false。

  • E next() 返回迭代的下一个元素

取出集合中的下一个元素

Iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊

Collection接口中有一个方法,叫iterator(),这个方法返回的就是迭代器的实现类对象

  • Iterator<E> interator() 返回在此 collection的元素上进行迭代的迭代器。


迭代器的使用步骤(重点):

  1. 使用集合中的方法iterator()获取迭代器的实现类对象使用Iterator接口Iterator接口接受(多态)
  2. 使用Iterator接口中的方法hasNext判断还没有没有下一个元素
  3. 使用Iterator接口中的方法next取出集合中的下一个元素
//创建一个集合对象    
Collection<String> coll = new ArrayList();
//向集合中添加元素
coll.add("cai");
coll.add("niao");
/*
1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口Iterator接口接收(多态)

注意:
    Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型

*/
//多态 接口 实现类对象
Iterator<String> it = cool.interator
while(it.hasNext())//判断集合有没有下一个元素,从-1开始
    String e = it.next();//取出下一个元素并把指针后移一位
    System.out.println(e);

 

 

增强for循环

增强for循环:底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写
是JDK1.5之后出现的新特性

  • Collection<E> extends Iterator<E>:所有的单列集合都可以使用增强for
  • public interface Iterable<T> 实现这个接口允许对象成为“foreach”语句目标。

增强for循环:用来遍历集合和数组

格式

for (集合/数组的数据类型 变量名 : 集合名/数组名)
  System.out.println(变量名);

以上是关于Java学习:迭代器简介的主要内容,如果未能解决你的问题,请参考以下文章

Java 集合学习笔记:HashMap - 迭代器

Java 集合学习笔记:HashMap - 迭代器

Java进阶篇设计模式之九----- 解释器模式和迭代器模式

Java学习集合

Java学习集合

学习总结 java Iterator迭代器练习