版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangshuaionline/article/details/85601998
相关:
Collection
ListIterator
定义:集合上的迭代器。基于JDK1.2
函数:
- boolean hasNext();如果迭代器含有更多元素,则返回true。常用的方法,遍历的时候一般用作条件
- E next();返回遍历到的元素。如果迭代器么有更多元素,抛出NoSuchElementException。
- 第三个方法是一个defaul函数:
从底层集合中移除此迭代器的最后一个元素,每次调用next方法的时候,只能调用一次。default void remove() { throw new UnsupportedOperationException("remove"); }
输出结果:List<String> linkedList = new LinkedList<>(); for(int i =0;i<100;i++){ linkedList.add("aaa"+i); } Log.w("打印"," "+linkedList.size()); Iterator<String> iterator = linkedList.iterator(); while (iterator.hasNext()){ if(iterator.next().equals("aaa0")) iterator.remove(); } Log.w("打印"," "+linkedList.size());
规定A:如果iterator不支持remove方法,抛出UnsupportedOperationException。规定B:如果尚未调用next,或者最后一次调用next后调用了remove(next返回false),抛出IllegalStateException。W/打印: 100 W/打印: 99
- 第四个方法是一个default函数:
JDK1.8特性,对剩余的每个元素进行指定的操作,直到处理完所有元素或引发异常。规定A:如果指定行为为null,抛出NullPointerException。default void forEachRemaining(Consumer<? super E> action) { Objects.requireNonNull(action); while (hasNext()) action.accept(next()); }