Java 迭代器Iterator
一.迭代器作用:
通用的取出集合中元素的方法(对集合进行遍历)
二.迭代器概念:
迭代: 即collection集合元素的通用获取方式,在取出元素之前先要判断集合中是否有没有元素,如果有,就把这个元素取出来,接下来继续判断,如果还有,就继续取出来,直到把集合中所有元素全部取出
这种取出方式专业术语称为迭代
使用java.util.Iterator接口对集合进行遍历
三.迭代器的定义:
提供一种方法访问一个容器(container)对象中各个元素,而又不需要暴露该对象的内部细节
迭代器模式,就是为了容器而生
Collection接口继承了java.lang.Interable接口,该接口有一个interator()方法,那么实现Collection接口的类都有interator()方法,用以返回一个实现了Interator接口的对象
Interator仅用于集合的遍历,本身并不提供继承对象的能力,如果需要创建Interator对象,则必须有一个被迭代的集合
集合对象每次调用interator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前
四.常用方法:
boolean hasNext();
//判断集合中是否还有下一个元素,如果仍有元素可以迭代,则返回true;没有则返回false
E next();
//返回迭代的下一个元素
Iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊 Collection中接口中有一个iterator()方法,这个方法返回的就是迭代器实现类的对象
default remove();
//移除操作,不同于集合直接调用remove()
五.使用迭代器遍历集合示例:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class IteratorTest {
public static void main(String[] args) {
Collection c = new ArrayList();c.add(123);c.add(666);c.add("Tom");c.add(false);
Iterator iterator = c.iterator(); //创建迭代器对象while (iterator.hasNext()){ //判断集合中是否还有下一个元素Object obj = iterator.next(); //如果有下一个元素,则将它传给objif ("Tom".equals(obj)){ //判断集合中是否有"Tom"这个元素iterator.remove(); //如果有"Tom",则调用删除方法将它删除}}iterator = c.iterator(); //再遍历一次集合,并输出新的集合while (iterator.hasNext()){System.out.println(iterator.next());}}
}
Java 迭代器Iterator相关推荐
- 【java迭代器Iterator】获取单个元素,循环遍历和删除
java迭代器Iterator 什么是Iterator 怎么获取Iterator对象 Iterator三个常用方法 E next() 获取单个元素 boolean hasNext() 可用于循环遍历 ...
- Java迭代器iterator遍历有条件删除对象
Java迭代器iterator遍历有条件删除对象 在使用迭代器遍历对象并对对象使用删除操作时可能发生的问题指南 文章目录 Java迭代器iterator遍历有条件删除对象 前言 总结 前言 前不久在使 ...
- Java迭代器Iterator令人迷惑的方法名 hasNext(),next()解析
Java迭代器Iterator令人迷惑的方法名 hasNext(),next()解析推荐,文章很清晰,再也不会迷惑啦:https://blog.csdn.net/weixin_44062380/art ...
- java:迭代器Iterator
迭代器Iterator是一个对象,它的工作是遍历并选择序列中的对象,它提供了一种访问一个容器(container)对象中的各个元素,而不必暴露该对象内部细节的方法. 通过容器的 iterator()方 ...
- Java迭代器Iterator接口
迭代器 Iterator接口 迭代器的代码实现 增强for循环 Iterator接口 java.util.Iterator接口:(对集合进行遍历) 有两个常用方法 1.boolean hasNext( ...
- Java迭代器Iterator
Iterator 迭代器 遍历集合,内部采用指针的方式,来跟踪集合中的元素 用于迭代访问Collection中的元素 HasNext() 判断集合中是否,存在下一个元素 返回值为true.false ...
- Java迭代器 | Iterator用法
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
- Java 迭代器 Iterator
Collection接口实现了继承了Iterable接口,实现类例如ArrayList可以调用 iterator() 方法获取迭代器Iterator 对象. Iterable 是一个接口(英文翻译为可 ...
- Java迭代器(Iterator)的next()及hasNext方法的理解
关于java集合迭代器中的it.hashNext()和it.next()方法 今天突然想了一下找个问题,网上大多数说是直接取下一个元素,很迷惑,那么迭代器中it.next()方法到底是取当前元素并且指 ...
最新文章
- 7.Nginx_Keepalived高可用配置
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
- android 消息循环滚动条,Android ViewPager实现循环滚动
- Intellij IDEA 自动生成 serialVersionUID
- AI:PR的数学表示-传统方法PR
- linux u盘分区 mdev 卸载问题,嵌入式linux 实现mdev SD卡和U盘自动挂载和卸载的方法 mdev.conf...
- ug建模文本怎么竖着_UG建模知乎答疑练习小集锦
- java新建对象校验_验证某个对象是否是一个mock对象或者一个spy对象
- mysql横向扩展_高可用MySQL学习笔记-面向横向扩展的MYSQL复制
- 蓝桥杯 ALGO-99 算法训练 薪水计算
- 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_1 回顾Mybatis的环境搭建-实现查询所有功能
- libgdx游戏引擎开发笔记(八)SuperJumper游戏例子的讲解(篇二)---- 游戏界面跳转...
- 传感器融合sensor fusion
- k3s,k9s harbor https
- vue语音播放通知功能
- android x86玩和平精英,和平精英iOS和安卓可以一起玩吗 和平精英iOS和安卓数据互通吗...
- python-opencv-使图片更清晰的几种方法
- ubuntu 19查看和修改时区
- java文件存储系统_分布式小文件存储系统
- 多模态模型 CLIP4Clip 带你实现文本与视频互搜