下面的程序先创建两个链表,然后将第二个链表的元素,穿插到到第一个链表中;然后从第二个链表中每间隔一个元素删除一个元素,最后测试remove方法。
package linkedList;
import java.util.*;
/**
* 这个程序用来演示链表操作
*/
public class LinkedListTest
{
public static void main(String[] args)
{
var a = new LinkedList<String>();
a.add("Amy");
a.add("Carl");
a.add("Erica");
var b = new LinkedList<String>();
b.add("Bob");
b.add("Doug");
b.add("Frances");
b.add("Gloria");
b.add("Henry");
ListIterator<String> aIter = a.listIterator();
Iterator<String> bIter = b.iterator();
while (bIter.hasNext())
{
if (aIter.hasNext())
aIter.next();
aIter.add(bIter.next());
}
System.out.println(a);
bIter = b.iterator();
while (bIter.hasNext())
{
bIter.next(); // 跳过一个元素
if (bIter.hasNext())
{
bIter.next();
bIter.remove(); // 删除刚刚访问跳过的的元素
}
}
System.out.println(b);
a.removeAll(b);
System.out.println(a);
}
}