Iterator接口
Iterator接口
概述:对 collection 进行迭代的迭代器,依赖于集合而存在
迭代器遍历是Collection集合所特有的遍历方式 得是可遍历的对象
package com.shujia.day11; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class IteratorDemo { public static void main(String[] args) { Collection c1=new ArrayList(); c1.add("java"); c1.add("maven"); c1.add("clickhouse"); System.out.println("c1"+c1); // Object[] toArray() 将集合转成数组,遍历数组,得到集合中每个元素 Object[] arr=c1.toArray(); for (int i=0;i<arr.length;i++){ //向下转型 String s=(String) arr[i]; System.out.println(s+","+s.length()); } //获取迭代器对象,其中存储了集合元素 //因为我这里的c1实际上堆内存是ArrayList的对象, //所以调用iterator()底层返回的是一个ArrayList类中的私有成员内部类Itr的对象 Iterator iterator=c1.iterator(); /* public Iterator<E> iterator() { return new Itr(); */ //在取下一个元素之前,先判断一下,下一个位置上有没有元素,如果有,则next(),无则不获取 // if(iterator.hasNext()){ // System.out.println(iterator.next()); // } // if(iterator.hasNext()){ // System.out.println(iterator.next()); // } // if(iterator.hasNext()){ // System.out.println(iterator.next()); // } // //上面的方法冗余了,可以改进 //在不知道次数的情况下,获取数据,优先使用while循环 while(iterator.hasNext()){ String s=(String) iterator.next(); System.out.println(s+","+s.length()); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现