forEachRemaining
ArrayList<Integer> arrayList=new ArrayList<>();
for (int i = 0; i <10; i++) {
arrayList.add(i);
}
System.out.println("迭代器第一次遍历");
Iterator iterator=arrayList.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next());
}
System.out.println("");
System.out.println("迭代器第二次遍历");
Iterator iterator0=arrayList.iterator();
while(iterator.hasNext()){
System.out.print(iterator0.next());
}

上面迭代器只能遍历一次,第二次遍历时里面已经没有了元素,就不遍历了
二:
ArrayList<Integer> arrayList=new ArrayList<>();
for (int i = 0; i <10; i++) {
arrayList.add(i);
}
System.out.println("迭代器第一次遍历");
Iterator<Integer> iterator=arrayList.iterator();
while(iterator.hasNext()){
int num=iterator.next();
System.out.print(num);
if(num==5){
break;
}
}
System.out.println("");
System.out.println("输出其余元素:");
iterator.forEachRemaining(new Consumer<Integer>() {
@Override
public void accept(Integer s) {
System.out.print(s);
}
});

forEachRemaining继续输出其余的元素
本文来自博客园,作者:余生请多指教ANT,转载请注明原文链接:https://www.cnblogs.com/wangbiaohistory/p/13388588.html

浙公网安备 33010602011771号