本文主要是介绍Java Linklist 类测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
链表类适合多次删除,插入的场景。测试例子:
/**test linked list* after .next() invoked, the iterator will be after the next element* after .pervious() invoked, the iterator will be previous the previous element*/
import java.util.*;
public class LinkedListTest {public static void main(String args[]){LinkedList<String> list = new LinkedList<String>();list.add("A");list.add("B");list.add("C");list.add("D");ListIterator iterator = list.listIterator();System.out.println(list.size());System.out.println(iterator.hasPrevious());System.out.println(iterator.hasNext());
// iter A B C DSystem.out.println(iterator.next());
// A iter B C DSystem.out.println(iterator.next());
// A B iter C DSystem.out.println(iterator.previous());
// A iter B C D
// System.out.println(list.remove());
// Exception: java.util.ConcurrentModificationException
// System.out.println(iterator.next());System.out.println(iterator.nextIndex());System.out.println(iterator.next());
// A B iter C Diterator.remove(); //移除最近next()或者previous()返回的那个元素,不改变index位置,此处移除B
// A iter C DSystem.out.println(iterator.nextIndex());System.out.println(iterator.next());
// A C iter Diterator.add("E");
// 插入 E 之后不影响next()的调用,但是 会影响 previousID 和nextID
// A C iter 'E' DSystem.out.println(iterator.nextIndex());System.out.println(iterator.next());
// A C 'E' D iterif(iterator.hasNext())System.out.println(iterator.next());else if(iterator.hasPrevious())System.out.println(iterator.previous());
// A C 'E' iter DSystem.out.println(iterator.previous());
// A C iter E DSystem.out.println(iterator.nextIndex());System.out.println(iterator.next());
// A C E iter DSystem.out.println(iterator.next());
// A C E D iter}
}
这篇关于Java Linklist 类测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!