LinkedList的listIterator()方法,详细举例

2023-01-10 10:28:53

LIinkedList的listiterator方法对于初学者来说,真的很容易搞错。

LinkedList调用listiterrator方法后返回的是ListIterator类型的迭代器,这个类是Iterator的子类,你会发现这个子类中是有add方法的,而超类没有。

为什么呢?

很简单,因为对有序的集合使用迭代器添加元素才有实际意义。但java集合类库提供了子接口ListIterator,它有add方法,然后我们就可以根据迭代器的定位来添加元素了。

如果理论看不懂文字解释,也无所谓,下面的方法,包教包会。

下面的代码,用来测试功能的,我只能说自己 试一遍 ,比什么都有用。

import java.util.*;

public class Hello{
public static void main(String[] args){


	LinkedList<String> list=new LinkedList();
	list.add("aa");
	list.add("bb");

	System.out.println(list);
	ListIterator<String> iterator = list.listIterator();
	//Iterator<String> iterator = list.iterator();
	//iterator.next();
	iterator.add("cc");
	iterator.add("dd");
	iterator.add("ee");
	//iterator.previous();
	//iterator.set("hh");

	System.out.println(list);
	//System.out.println(list.contains("a"));
	//System.out.println(list.get(1));
	//System.out.println(list.get(0));
	System.out.println(iterator.nextIndex());
	//System.out.println(iterator.previousIndex());
	ListIterator<String> iterator1 = list.listIterator(3);
	iterator1.add("tt");
	System.out.println(list);


}




}	

 

  • 作者:喝泉水的泉
  • 原文链接:https://blog.csdn.net/changbaishannefu/article/details/109630882
    更新时间:2023-01-10 10:28:53