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());
}
}
}
posted @   peculiar-  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示