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

简介: Java集合(3)--Iterator迭代器

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


Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建

Iterator 对象,则必须有一个被迭代的集合。

集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合

的第一个元素之前。


a38ce9549ac9448187c9d818bf649b98.png8128983baf184f6e88e7af3fdc71202c.png40cf7d7c648c46cc8801b255ea443fb4.png






在调用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(数组内元素类型 局部变量名 : 要进行遍历操作的数组){
  //具体操作
}



相关文章
|
15小时前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
6 1
|
1天前
|
缓存 Java 测试技术
探讨Java中遍历Map集合的最快方式
探讨Java中遍历Map集合的最快方式
6 1
|
1天前
|
Java API
探讨Java集合的组内平均值计算
探讨Java集合的组内平均值计算
6 1
|
4天前
|
存储 算法 安全
深入理解Java集合框架:基础类型与代码效率优化
Java集合框架是编程的核心工具,包括List、Set、Queue和Map接口及多种实现类,如ArrayList、LinkedList、HashSet、TreeSet等。理解它们的内部机制有助于优化代码。选择适合的集合类型、避免类型转换、使用并发集合和管理容量可以提升效率。深入学习这些概念能改善代码性能和可维护性。
|
4天前
|
存储 安全 Java
Java集合框架核心组件理解这些基础类型能优化代码效率。
【6月更文挑战第21天】Java集合框架核心组件:ArrayList快速随机访问,适合大量查找;LinkedList擅于插入删除,不适于随机访问;HashMap是键值对存储,O(1)查找删除。选择取决于应用场景:频繁访问选ArrayList,频繁增删选LinkedList,键值查找选HashMap。理解这些基础类型能优化代码效率。
7 1
|
1天前
|
Java
JAVA构建List集合为树形结构的方法和代码
JAVA构建List集合为树形结构的方法和代码
|
1天前
|
Java
java中将集合数组转换为Stream流
java中将集合数组转换为Stream流
6 0
|
1天前
|
存储 算法 Java
Java中的集合框架使用技巧
Java中的集合框架使用技巧
|
5天前
|
存储 Java 测试技术
杨校老师课堂之Java基础集合专题知识点整理
杨校老师课堂之Java基础集合专题知识点整理
9 0
|
5天前
|
Java
Java集合之map 集合使用
Java集合之map 集合使用
5 0