Java集合(3)--Iterator迭代器

Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。Collection接口继承了java.lang.Iterable接口,该接口有一个iterator()方法,那么所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。

Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建
Iterator 对象,则必须有一个被迭代的集合。
集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合
的第一个元素之前。

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在调用it.next()方法之前必须要调用it.hasNext()进行检测。若不调用,且下一条记录无效,直接调用it.next()会抛出NoSuchElementException异常。

因此,通常集合遍历的方法如下:

Iterator iter = coll.iterator(); //每当collection.iterator()都生成返回一个新的迭代器对象,即游标在最开头
while(iter.hasNext()){Object obj = iter.next();if(obj.equals(要去除的元素)){iter.remove();}
}

Iterator可以删除集合的元素,但是是遍历过程中通过迭代器对象的remove方法,不是集合对象的remove方法。


Java 5.0 提供了 foreach 循环迭代访问 Collection和数组

遍历操作不需获取Collection或数组的长度,无需使用索引访问元素

遍历集合的底层调用Iterator完成操作

//又新建了一个集合,而不是原来的集合,里面的具体操作操作的是新的集合
for(集合内元素类型 局部变量名 : 要进行遍历操作的集合){//具体操作
}
//又新建了一个数组,而不是原来的集合,里面的具体操作操作的是新的数组
for(数组内元素类型 局部变量名 : 要进行遍历操作的数组){//具体操作
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 中文脚本,ORACLE常用脚本

--创建表空间Create tablespace BRANCH datafile D:\tablespace\BRANCH.dbf size 500M autoextend on maxsize unlimited;--查询YS所拥有的表空间select distinct(tablespace_name) from dba_segments where ownerYS;--删除用户drop user ys cascade;--删除表空间及…

Java集合(4)--List接口及其实现类ArrayList、LinkedList和Vector

文章目录List接口概述List接口常用方法ArrayList实现类LinkedList实现类Vector实现类List接口概述 List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据 序号…

java hadoop_单元测试Java Hadoop作业

java hadoop在我以前的文章中,我展示了如何设置一个完整的基于Maven的项目,以用Java创建Hadoop作业。 当然并没有完成,因为它缺少单元测试部分。 在这篇文章中,我将展示如何将MapReduce单元测试添加到我之前开始的项目中。 对于单…

软件连接oracle失败怎么办,【编程开发工具】navicat连接oracle失败怎么办

Navicat连接oracle数据库时连接失败,出现ORA-28547错误。原因:navicat Primium版本的OCi和本地数据库的OCI版本不一致。解决方法:1、把navicat Primium版本自带oci.dll替换本地Oracle安装路径里的oci.dll。我的本地navicat Primium版本自带oc…

Java集合(5)--Set接口及其实现类HashSet、LinkedHashSet和TreeSet

文章目录Set接口概述HashSet实现类LinkedHashSet实现类TreeSet实现类Set接口概述 1、Set接口是Collection的子接口,set接口没有定义额外的方法,使用的都是Collection接口中的方法。 2、Set 集合不允许包含相同的元素,如果试把两个相同的元素…

php设置超链接,怎么给一个PHP密码访问页面加超链接

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼$password "1234"; // 这里是密码$p "";if(isset($_COOKIE["isview"]) and $_COOKIE["isview"] $password){$isview true;}else{if(isset($_POST["pwd"])){if($_POST["…

Java集合(6)--Map接口

文章目录Map接口概述Map结构的理解Map接口常用方法Map接口概述 Map与Collection并列存在,用于保存具有映射关系的数据:key-value Map中的 key 和 value 都可以是任何引用类型的数据 常用String类作为Map的“键”。key 和 value 之间存在单向一对一关系&#xff0…

php+js表单验证数字,.validate表单验证js

$("#signupForm").validate({rules: {name: {required: true},id:{required:true校验类型:}},messages: {name: {required: "请输入姓名"},id{required: 必填校验类型:}}})name可以填入div里的idrequired 设置必填校验类型取值描述requiredtrue|false必填字…

java低延迟_像Java这样的C ++具有低延迟

java低延迟总览 以前,我写过一篇有关Java之类的C的文章。 这是我以前遇到的术语。 但是,经过思考,我认为像Java这样的C 是一个更好的术语,因为您仍在使用OOP惯例(不是C惯例),但是您需要投入更多…

Java集合(7)--Map接口的实现类HashMap、LinkHashMap、TreeMap和Properties

文章目录HashMap类LinkedHashMap类TreeMap类Hashtable类Properties类HashMap类 1、HashMap类概述 HashMap是 Map 接口使用频率最高的实现类,允许使用null键和null值,与HashSet一样,不保证映射的顺序。 所有的key构成的集合是Set&#xff1a…

为什么SpringBoot如此受欢迎,以及如何有效地学习SpringBoot?

SpringBoot是最流行和使用最广泛的Java框架。 有时这种讨论“为什么SpringBoot如此受欢迎?” 来我和我的朋友/同事之间。 另外,我确实收到了许多人发来的电子邮件,询问“春天很大,如何快速学习?” 。 在这篇文章中&…

支持linux系统摄像头模块,在Linux操作系统上使用摄像头

我的公家笔记本的摄像头一直没啥用,偶尔用 vmware player 2.0模拟个 msn 用(其实到目前一次都没用过)。搞过安全对这东西严重不信任通常都不驱动,忽然想起重案6组那个警察兄弟说搞高科技的最怕高科技产品。linux 下一直没装,晚上闲着没啥事&a…

Java实现复数Complex的加减乘除运算、取模、求幅角角度

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) /*** Author: Yeman* Date: 2021-09-23-9:03* Description:*/…

linux 域账户密码忘记,linux基础命令-用户域用户组管理

//与用户相关的配置文件:/etc/passwd: #用户的配置文件, 保存用户账户的基本信息/etc/shadow #用户影子口令文件一、用户帐号文件——passwd1.“/etc/passwd”文件是UNIX安全的关键文件之一。该文件用于用户登录时效验用户的登录名、加密的口令数据项、…

Java集合(8)--集合工具类Collections

Collections 是一个操作 Set、List 和 Map 等集合的工具类。 Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。 排序操作 reverse(List):反转 List 中元素的顺…

Java程序员应在2018年学习的3种JVM语言

如果您是Java程序员,并且想学习更多的编程语言以扩展您的知识和技能,但是不确定选择哪种编程语言,那么您来对地方了。 在本文中,我将分享Java程序员可以在2018年学习的3种JVM语言以及为什么要学习它们。 成为多语种开发人员的素质…

Java泛型(1)--集合使用泛型Generic、自定义泛型、泛型在继承上的体现、通配符的使用

文章目录泛型的概念集合中使用泛型自定义泛型结构泛型在继承上的体现通配符的使用泛型的概念 集合容器类在设计阶段/声明阶段不能确定这个容器实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个…

linux 内存 面试,【Linux内存面试题】面试问题:查看机器配置命… - 看准网

1、查看内存大小solari:prtconf -vp | grep Memlinux :grep MemTotal /proc/meminfo2、查看硬盘大小solari:df -klinux :fdisk -l[rootssoldap ~]# fdisk -lDisk /dev/sda: 146.6 GB, 146685296640 bytes255 heads, 63 sectors/tr…

蚂蚁组件 axure 蚂蚁_蚂蚁属性细微差别

蚂蚁组件 axure 蚂蚁每隔一段时间,我会想起Ant属性的一些细微差别 ,一旦忘记它们,在与Ant交互时会引起混乱。 特别是, Ant属性 通常是不可变的 (不包括Ant 1.8以来的局部属性 ),并且在其第一次设…

JavaIO流(1)--File类的使用

文章目录File类概述常用构造器常用方法File类概述 File类能新建、删除、重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流。 要在Java程序中表示一个真实存在的文件或目录,那么必…