Java Iterator(迭代器)

作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/15434825.html


Java Iterator(迭代器)

如果需要使用iterator类需要从java.util包中引入它

Java Iterator不是一个集合,它是一种访问集合的方法,用于迭代ArrayList和HashSet等集合

迭代器it 的两个基本操作是next,hasNext和remove

调用it.next()会返回迭代器的下一个元素,并更新迭代器的状态

调用it.hasNext()用于检测集合中是否还有元素

调用it.remove()将迭代器返回的元素删除

 

集合获取一个迭代器用iterator()方法

复制代码
package m;

//引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;

public class iterator {
 public static void main(String[] args) {

     // 创建集合
     ArrayList<String> sites = new ArrayList<String>();
     sites.add("1");
     sites.add("2");
     sites.add("3");
     sites.add("4");

     // 获取迭代器
     Iterator<String> it = sites.iterator();

     // 输出集合中的第一个元素
     System.out.println(it.next());
 }
}
复制代码

 

 

循环集合元素让迭代器it逐个返回集合中所有元素用while循环

复制代码
package m;

//引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;

public class iterator {
 public static void main(String[] args) {

     // 创建集合
     ArrayList<String> sites = new ArrayList<String>();
     sites.add("1");
     sites.add("2");
     sites.add("3");
     sites.add("4");

     // 获取迭代器
     Iterator<String> it = sites.iterator();

     // 输出集合中的所有元素
     while(it.hasNext()) {
         System.out.println(it.next());
     }
 }
}
复制代码

 

 

如果要删除集合中的元素可以用remove()方法

复制代码
package m;

//引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;

public class iterator {
 public static void main(String[] args) {
     ArrayList<Integer> numbers = new ArrayList<Integer>();
     numbers.add(12);
     numbers.add(8);
     numbers.add(2);
     numbers.add(23);
     Iterator<Integer> it = numbers.iterator();
     while(it.hasNext()) {
         Integer i = it.next();
         if(i < 10) {  
             it.remove();  // 删除小于 10 的元素
         }
     }
     System.out.println(numbers);
 }
}
复制代码

 

posted @   kuaiquxie  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示