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(数组内元素类型 局部变量名 : 要进行遍历操作的数组){//具体操作
}
Java集合(3)--Iterator迭代器相关推荐
- jav核心(十四):集合类型操作:Collection、List、Set;Map集合;Iterator迭代器
一.java.util.List 1.List总结 List中允许保存重复的数据: List中允许保存多个null: 常用实现类:ArrayList[推荐使用].Vector.LinkedList: ...
- Java中的Iterator(迭代器)
Java中的Iterator(迭代器) 1 概述 Java Iterator不是一个集合,是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合.Iterator是Java迭 ...
- JAVA day15 Collection(集合)、Iterator迭代器、泛型<E>
1.Collection(集合) 集合:集合是java中提供的⼀种容器,可以⽤来存储多个数据. 集合与数组的区别: 数组的长度是固定的,集合的长度是可变的. 数组中存储的是同⼀类型的元素,可以存储基本 ...
- Java基础知识(二)(Object类的常用方法、日期时间类、System类、StringBuilder类、包装类、Collection集合、Iterator迭代器、泛型、list集Set接口...)
文章目录 Java基础知识(二) 1.Object类的常用方法 1.1 toString方法 1.2 equals方法 1.3 Objects类 2.日期时间类 2.1 Date类 2.2 DateF ...
- 【java笔记】Iterator迭代器 增强for
Iterator接口: 接口java.util.Iterator遍历集合中的所有元素.Iterator对象主要用于遍历Collection中的元素,因此Iterator对象也被称为迭代器 迭代: Co ...
- JavaSE入门学习38:Java集合框架之迭代器
一Iterator接口 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层 结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小 ...
- Java设计模式 (1) —— Iterator迭代器模式
拿到这个话题,首先搞清楚:什么是迭代器? 大家都学过 for-i 循环,for-i循环的本质就是 通过i++ 或者 i-- ,以实现 从数据的一端 一个一个地遍历数据元素,直到另一端的最后一个元素,将 ...
- java 集合框架、迭代器、比较器 学习笔记
java集合框架总览 接口.实现类.算法的定义 常见的集合接口 Set和List的区别 常见的集合实现类 java.util包中定义的实现类 集合算法的概念 Collection Algorithms ...
- Java学习之Iterator(迭代器)的一般用法
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
- Java学习之Iterator(迭代器)的一般用法(转)
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
最新文章
- Discuz!常用函数解析(续)
- java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?
- Python3入门笔记(1) —— windows安装与运行
- 少儿编程python线上课程-少儿编程课堂|python – 用游戏学编程
- docker安装elasticsearch2.4.4
- java 进程 cpu占用_JAVA进程CPU占用高的故障排查 – 运维那些事
- 9月11号华为发布鸿蒙2.0和EMUI 11,来看看鸿蒙最牛逼的地方
- 大数据和人工智能将成消费金融主要驱动力
- 基于CSS+dIV的网页层,点击后隐藏或显示
- idea mvn命令
- 2021年度国内网络安全事件总结
- 【游记】CQOI2021
- rstudio文件保存_R 和 RStudio 的安装及 R Profile 的配置 amp; 初识 R 语言数据爬取
- maven install 提示:Process terminated
- 域 用户和计算机名,域环境中计算机名称解析
- [转] ThreeJS中,那些会让阴影失效的操作
- 白领的一天 场景7:薪水与福利
- Altera Scatter-Gather DMA (SG-DMA)的简单使用
- chapter8——消抖技术
- 《深入理解计算机系统》(CSAPP)实验七 —— Malloc Lab
热门文章
- Couchbase 101:从Java应用程序创建视图(MapReduce)
- Java EE与NoSQL的未来
- python支持复数以及相关的运算吗_Python: 复数的数学运算
- IntelliJ IDEA for Mac如何使用单元测试Junit
- 如何理解 inode
- Linux 命令之 pgrep -- 用于检索(搜索进程/查找进程)当前正在运行的进程
- 腾讯面试编程题python_腾讯面试官出的 2 道经典数据分析面试题
- 深度学习pytorch--softmax回归(一)
- signature=02d2eb69b4d24e2f9bb2956f66089339,Signature Balancing
- python find函数实现原理_非常干货:Python 探针实现原理