迭代器为我们提供了统一的遍历容器的方式,参见以下示例代码: 【示例】迭代器遍历List 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 publicclassTest { publicstaticvoidmain(String[] args) { List<String> aList =newArrayList<String>(); for(inti =0; i <5; i++) { aList.add("a"+...
在使用Iterator来迭代遍历List的时候如果修改该List对象,则会报java.util.ConcurrentModificationException异常,下面看一个例子演示: 1packagecom.others;23importjava.util.ArrayList;4importjava.util.Iterator;5importjava.util.List;6importjava.util.concurrent.CopyOnWriteArrayList;78publicclassArrayListTest {910publicstati...
boolean hasNext():如果集合还没遍历完就返回true。 Object next():返回集合里的下一个元素。 void remove():删除集合里上一次next方法返回的元素。 void forEachRemaining(Consumer action):这是java8新增的默认方法,可用Lambda表达式遍历数组。 使用迭代器遍历元素时不能不能通过Collection接口中的remove方法删除元素,...
//代码可能有所删减或修改,但代码含义不变publicabstractclassAbstractList<E>extendsAbstractCollection<E>implementsList<E>{protectedtransientintmodCount=0;//集合被修改的次数(add 和 remove 时会++)privateclassItrimplementsIterator<E>{//内部类,迭代器实现 实际上还是在根据下标获取数据intcursor=0;//下一个元...
for循环、foreach都不能用来删除指定元素,可以通过迭代器来删除指定的元素 二、代码 publicclassClient{publicstaticvoidmain(String[]args){test3();}/** * 正常 */publicstaticvoidtest(){List<String>list=newArrayList<>();list.add("A");list.add("B");list.add("C");for(Stringitem:list){if(item...
简介:Java学习笔记 List集合的定义、集合的遍历、迭代器的使用 List集合特点:有序、可重复 ;ArrayList 底层的数据结构是顺序存储;LinkedList 底层的数据结构是链式存储; (1)基本方法。 用于查询的基本方法是对Collection元素的增加和删除,包括: int size():返回集合元素的个数。
//第一种遍历方法使用foreach遍历List for (String str : list) { //也可以改写for(int i=0;i<list.size();i++)这种形式 System.out.println(str); } //第二种遍历,把链表变为数组相关的内容进行遍历 String[] strArray=new String[list.size()]; ...
迭代器遍历,Iterator。Iterator 是面向对象的一个设计模式,目的是屏蔽不同数据集合的特点,统一遍历集合...
你a<70的时候是倒数第二位,也就是66,没有抛出异常是因为之前list大小为5,你删除66后,list大小为4,你第一次遍历list大小为5的数组的时候,66的cursor在index = 4,当你删除后,遍历list大小为4的数组时, cursor = 4 = newlist.size()。ArrayList里的这个方法就会判断list已经读取完毕了,...
在reverseEach 方法中 , 调用了 each 遍历方法 , 传入 倒序集合迭代器 ReverseListIterator 实例对象 和 闭包 作为参数 , 倒序遍历集合 ; 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 privatestatic<T>Iterator<T>each(Iterator<T>iter,Closure closure){while(iter.hasNext()){Object arg=iter...