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());
}
}
}
标签:Iterator,iterator,System,接口,next,println,c1,out
From: https://www.cnblogs.com/peculiar/p/18056567