Java编程Iterator迭代器设计原理及实现代码示例
时间:2021-04-01 08:17:30|栏目:JAVA代码|点击: 次
我们知道迭代器(Iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素。那么Iterator迭代器的设计原理是什么呢?迭代器问什么定义了一个借口,而不是一个类呢?
我们假设迭代器迭代数据的功能定义为了一个类,那么,会有这样的问题。不同的集合,由于数据结构不一样,所以他们的存储方式也是不一样的。也就是说,迭代器获取的时候,获取的方式是变化的,也就是不固定的。所以把这种方式定义为具体的实现是不合理的。
无论何种集合,他们肯定都有获取的功能,而且不知道什么时候就没有数据了。所有他们也会有判断功能。于是,就把判断和获取功能抽取出来,定义在接口中。这样的话,将来无论是哪种集合在遍历的时候,它们自己只要去实现迭代器接口即可。
那具体怎么实现的呢?集合迭代器是以内部类的方式实现的。简单看一段代码。
package me.socketthread;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class IteratorDemo {
public static void main(String[] args) {
//创建对象
Collection c = new ArrayList();
//添加元素
c.add("hello");
c.add("world");
c.add("helloworld");
//遍历集合对象,通过集合对象调用方法c.iterator()得到迭代器对象Iterator
Iterator it = c.iterator(); //返回的是Iterator的子类对象,多态。
while (it.hasNext()) { //检查序列中是否还有元素
//System.out.println(it.next());
String s =(String)it.next();//获得序列中的下一个元素
System.out.println(s);
}
}
}
输出
hello world helloworld
总结
栏 目:JAVA代码
下一篇:MyBatis查询时属性名和字段名不一致问题的解决方法
本文标题:Java编程Iterator迭代器设计原理及实现代码示例
本文地址:http://www.codeinn.net/misctech/92168.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虚拟机




