迭代器ListIterator使用及并发修改List集合
来源:互联网 发布:java堆排序 编辑:程序博客网 时间:2024/06/05 20:39
有一个集合,判断里面有没有"world"这个元素,如果有,我就添加一个"java"元素,请写代码实现。
接口 ListIterator<E>所有超级接口: Iterator<E>
public interface ListIterator<E> extends Iterator<E>系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。
ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。长度为 n 的列表的迭代器有 n+1 个可能的指针位置,
E previous()返回列表中的前一个元素。可以重复调用此方法来迭代列表,或混合调用 next 来前后移动(注意交替调用 next 和 previous 将重复返回相同的元素)。 返回:列表中的上一个元素。 抛出: NoSuchElementException - 如果没有可迭代的上一个元素。boolean hasPrevious()如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。 (换句话说,如果 previous 返回一个元素而不是抛出异常,则返回 true)。 返回:如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;public class I {@SuppressWarnings({ "rawtypes", "unchecked" })public static void main(String[] args) {List list = new ArrayList();list.add("a");//Object obj = new String();list.add("b");list.add("world");list.add("c");list.add("d");list.add("e");/*Iterator it = list.iterator();//获取迭代器while(it.hasNext()) {//判断集合中是否有元素String str = (String)it.next();//向下转型if("world".equals(str)) {list.add("java");//遍历的同时在增加元素,并发修改ConcurrentModificationException}}*///如果想在遍历的过程中添加元素,可以用ListIterator中的add方法ListIterator lit = list.listIterator();//获取迭代器(List集合特有的)while(lit.hasNext()) {String str = (String)lit.next();//向下转型if("world".equals(str)) {lit.add("java");}}System.out.println(lit);ListIterator li = list.listIterator();//获取迭代器while(li.hasNext()) {System.out.println(li.next());//获取元素并将指针向后移动}System.out.println("-----------------");while(li.hasPrevious()) {System.out.println(li.previous()); //获取元素并将指针向前移动}}}
1 0
- 迭代器ListIterator使用及并发修改List集合
- ListIterator listIterator():List集合特有的迭代器
- List集合特有迭代器ListIterator
- java集合中list集合基本用法及List集合特有的迭代器ListIterator
- List集合特有的迭代器,ListIterator
- List集合共性方法-ListIterator
- [疯狂Java]集合:List、ListIterator
- 使用ListIterator 对List遍历时修改,删除
- List集合ListIterator和Iterator迭代器区别与用法
- Java Iterator 和 ListIterator 迭代器 以及 并发修改异常 ConcurrentModificationException
- Java Iterator ListIterator 迭代器 以及 并发修改异常 ConcurrentModificationException
- 集合迭代器 listIterator()
- List集合的迭代神器ListIterator
- 黑马程序员--07.集合框架--03.【列表List集合的共性方法】【列表迭代器ListIterator】
- java集合之迭代器ListIterator
- 集合2 Iterator迭代器 ListIterator
- List接口迭代器-ListIterator
- 关于迭代器,List集合具体对象的特点以及ListIterator学习总结
- 河南省第十届ACM大赛赛后感(菜鸟版)
- 尼古拉斯特斯拉
- java连接池详解(一)
- 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- 素材类dedecms织梦模板免费下载
- 迭代器ListIterator使用及并发修改List集合
- 父类构造器的隐式调用和显式调用
- 前端编程规范
- 基于Scrapy和Lucene实现一个深圳大学校内搜索引擎
- 死锁
- ReentrantLock 深入理解
- C语言中的基本算法
- support中v4 v7库版本错误详解
- [bigdata-67] php7的试用安装和对curl的支持