- 关于ListIterator的知识:
- ListIterator的父接口是Iterator,是List接口中特有的迭代器。
- ListIterator在Iterator的基础上,又新添了很多方法:
- Iterator中的方法:
- 1、判断是否有下一个元素:hasNext();
- 2、获取下一个元素:next();
- 3、删除迭代器指向的元素:remove();
- ListIterator新添的方法:
- 4、判断是否有前一个元素:hasPrevious();
- 5、获取前一个元素: previous();
- 6、添加元素 add(e);
- 7、获取next后续元素的索引: nextIndex();
- 8、获取previous后续元素的索引:previousIndex();
- 9、替换指定元素: set(E e);
- 使用ListIterator的好处:可以并发执行操作,Iterator不能,Iterator如果并发执行操作,迭代器会出现不确定性行为。
- package 集合框架练习;
- import java.util.AbstractList;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- //定义一个List对象,如下
- //List list = new ArrayList();
- //1) 在list中添加元素,nihao,wohao,dajiahao,nihao
- //2) 在list的第二个位置添加元素,tahao
- //3) 用Iterator迭代器遍历打印list中元素
- //4) 在打印时,将list中的nihao,修改为nibuhao(提示:需要用到ListIterator)
- public class TestArrayList {
- public static void main(String[] args) {
- List list = new ArrayList();
- //1) 在list中添加元素,nihao,wohao,dajiahao,nihao
- list.add("nihao");
- list.add("wohao");
- list.add("dajiahao");
- list.add("nihao");
- System.out.print("list中的元素为:\t");
- for(int i=0;i
- System.out.print(list.get(i)+"\t");
- }
- System.out.println();
- //2) 在list的第二个位置添加元素,tahao
- list.add(1,"tahao"); //从0开始计数
- System.out.print("添加“tahao”后,list中的元素为:\t");
- for(int i=0;i
- System.out.print(list.get(i)+"\t");
- }
- System.out.println();
- //3) 用Iterator迭代器遍历打印list中元素
- //迭代器
- Iterator it=list.iterator();
- //判断是否有下一个元素:hasNext();
- System.out.print("用Iterator迭代器遍历打印list中的元素: ");
- while(it.hasNext()){
- System.out.print(it.next()+"\t");
- }
- System.out.println();
- //4)在打印时,将list中的nihao,修改为nibuhao(提示:需要用到ListIterator)
- list.set(0, "nibuhao");
- Iterator it1=list.iterator();
- System.out.print("修改之后的list为:");
- while(it1.hasNext()){
- System.out.print(it1.next()+"\t");
- }
- System.out.println();
- }
- private static List set(int i, String string) {
- // TODO Auto-generated method stub
- return null;
- }
- }