Java Collection集合iterator方法解析
时间:2021-03-18 09:46:35|栏目:JAVA代码|点击: 次
这篇文章主要介绍了Java Collection集合iterator方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Iterator接口概述
/** * java.util.Iterator接口:选代器(对集合进行遍历) * 有两个常用的方法 * boolean hasNext() * 如果仍有元素可以迭代,则返回true。 * 即判断集合中还有没有下?`个元素,有就返回true,没有就返回 false * E next() * 返回送代的下一个元素。 * 即取出集合中的下一个元素 * iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象。 * 获取实现类的方式比较特殊Collection接口中有一个方法,叫iterator(),这个方法返回的就是送代器的实现类对象 * Iterator<E> iterator()返回在该collection集合的元素上进行迭代的送代器。 * * 迭代器的使用步骤(重点): * 1.使用集合中的方法 iterator()获取送代器的实现类对象,使用Iterator接口接收(多态) * 2.使用Iterator接口中的方法hasNext来判断还有没有下一个元素 * 3.使用Iterator接口中的方法next来取出集合中的下一个元素 */
迭代器代码的实现
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collection;
public class Demo01Iterator {
public static void main(String[] args) {
Collection <String> collection = new ArrayList<>();
collection.add("1号");
collection.add("2号");
collection.add("3号");
collection.add("4号");
collection.add("5号");
// 第一步:使用集合中的方法 iterator() 获取送代器的实现类对象
// 第二步:使用Iterator接口接收(多态)
Iterator<String> stringIterator = collection.iterator();
// 第三步:使用Iterator接口中的方法hasNext来判断还有没有下一个元素
while (stringIterator.hasNext()) {
// 第四步:使用Iterator接口中的方法next来取出集合中的下一个元素
System.out.println(
stringIterator.next()
);
}
}
}
输出结果: 1号 2号 3号 4号 5号
迭代器的实现原理
new一个集合出来
collection = new ArrayList<>()
假设集合中添加有元素
collection = [一号元素, 二号元素, 三号元素, 四号元素, 五号元素]
集合中的元素对应的索引
Index = [0, 1, 2, 3, 4]
调用iterator方法
collection.iterator()
作用:获取迭代器的实现类对象井且会把指针(索引)指向集合的-1素引
代码说明:
while (stringIterator.hasNext()) {
stringIterator.next()
}
通过Iterator接口的hasNext()方法,判断集合是否还有没有下一个元素
如果有下一个元素,那么就调用Iterator接口的next()方法,取出下一个元素,并且会把指针向后移一位。
就这样,从索引的 -1 位置的下一位索引,开始获取元素,直到获取完全。
栏 目:JAVA代码
下一篇:Java使用反射调用方法示例
本文标题:Java Collection集合iterator方法解析
本文地址:http://www.codeinn.net/misctech/83288.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




