Java中的Iterator(迭代器)
Java中的Iterator(迭代器)
1 概述
Java Iterator不是一个集合,是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合。Iterator是Java迭代器最简单的实现,ListIterator是Collection API中的接口,它扩展了Iterator接口。
2 Iterator
public interface Iterator<E> {boolean hasNext(); // 用于检测集合中是否还有元素E next(); // 会返回迭代器的下一个元素,并且更新迭代器的状态default void remove() { // 将迭代器返回的元素删除throw new UnsupportedOperationException("remove");}default void forEachRemaining(Consumer<? super E> action) { // 对剩余元素进行遍历Objects.requireNonNull(action);while (hasNext())action.accept(next());}
}
3 ListIterator
public interface ListIterator<E> extends Iterator<E> {// Query Operationsboolean hasNext();E next();boolean hasPrevious();E previous();int nextIndex();int previousIndex();// Modification Operationsvoid remove();void set(E e);void add(E e);
}
4 测试
public class IteratorTest {public static void main(String[] args) {// 创建ArrayList集合List<String> sites = new ArrayList<>();sites.add("I");sites.add("love");sites.add("java");sites.add("!");// 获取迭代器,集合中有个iterator方法可以返回迭代器对象Iterator<String> iterator = sites.iterator();/** 测试Iterator的四种方法:hasNext,next,remove,forEachRemaining* */// 1. hasNextwhile (iterator.hasNext()) {System.out.println(iterator.next()); // 2. next}// 3. remove,将迭代器返回的元素删除iterator.remove(); // 此时迭代器返回的元素时“!”,删除!}
}
Java中的Iterator(迭代器)相关推荐
- Java学习之Iterator(迭代器)的一般用法
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
- Java学习之Iterator(迭代器)的一般用法(转)
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
- java中遍历collection_使用Java中的Iterator遍历Collection
Java中的集合提供了一种处理一组对象的体系结构.Java集合框架中的不同类是ArrayList,LinkedList,HashSet,Vector等. 迭代器可用于遍历Collection,使用Ar ...
- 【java笔记】Iterator迭代器 增强for
Iterator接口: 接口java.util.Iterator遍历集合中的所有元素.Iterator对象主要用于遍历Collection中的元素,因此Iterator对象也被称为迭代器 迭代: Co ...
- Java中set.iterator()的用法;
java.util.Set.iterator() 方法用于返回与集合相同元素的迭代器.元素从集合中的内容以随机顺序返回. 句法 iterate_value = Set.iterator(); 参数:该 ...
- JAVA中的Iterator
Iterator 接口主要用于遍历Collection集合中的元素,Iterator对象也被称为迭代器. Iterator接口隐藏了各种Collection实现类的底层细节,向应用程序提供了遍历Col ...
- Java设计模式 (1) —— Iterator迭代器模式
拿到这个话题,首先搞清楚:什么是迭代器? 大家都学过 for-i 循环,for-i循环的本质就是 通过i++ 或者 i-- ,以实现 从数据的一端 一个一个地遍历数据元素,直到另一端的最后一个元素,将 ...
- java中的Iterator和Iterable 区别
原文:http://perfy315.iteye.com/blog/1459201 ---------------------------------------------------------- ...
- java中iterator用法_java_详解Java中Iterator迭代器的用法,迭代器(Iterator)迭代 - phpStudy...
详解Java中Iterator迭代器的用法 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为&quo ...
最新文章
- php etcd 服务发现,confd+etcd+nginx 实现简单服务发现
- R语言WVPlots包可视化克利夫兰点ClevelandDotPlot、并按照分类变量排序进行可视化克利夫兰点ClevelandDotPlot
- linux系统硬盘数据恢复软件下载,Linux硬盘数据恢复软件
- 浅析人类最贵、最大的机器学习模型GPT-3及背后隐含的商业逻辑
- 7-5 公路村村通 (30 分)(C语言实现)
- 随想录(尝试wsl安装)
- PHP修改表格(增删改)
- 第一次做项目经理的感触和启发
- -webkit-line-clamp超过两行就出现省略号
- opencv 指定分辨率_使用opencv拉伸图像扩大分辨率示例
- java dht 爬虫_DHT爬虫(golang版-附源码)
- 一键打开常用软件(bat/vbs)
- 使用了3年多的华硕笔记本电脑fl5900uq7500电脑感受-提示已接通电源、正在放电抓狂问题
- 国产手机已经用上了 120W 快充技术,苹果还在用20W的原因
- SNMP、MIB和OID概述
- IDM下载慢 没有权限下载如何解决?
- 俊哥的HADOOP之路
- 2013年04月02日
- WMF格式图片的特点
- python 基于图片识别针对不同的分辨率进行鼠标点击
热门文章
- ATM交换机技术专项
- 人工智能与大模型主题师资培训落地,飞桨持续赋能AI人才培养
- oracle 的rpad函数,关于oracle 10g在utf8字符集下的rpad函数的疑惑
- 质数表因式分解 c语言,素数表+因式分解+完美数
- hitcon2014_stkof
- hive删除分区数据
- 零中频接收机频率转换图_【收发器(Transceiver)架构2-接收机2,做射频的同学建议看!】...
- 【codevs 3287】货车运输
- 如何解决系统蓝屏后显示0x000000d1代码的错误?
- 安卓航班Android开发经典教程大总结2----游戏基础入门及高级编程