public class TestList
{
public static void init(List list)
{
if(list!=null)
{
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("eee");
list.add("ddd");
}
}
public static void output(List list)
{
if(list!=null)
{
for(int i=0;i<list.size();i++)
System.out.print(list.get(i)+" ");
System.out.println();
}
}
public static void testArrayList()
{
List list=new ArrayList();
init(list);
System.out.println("使用ArrayList:");
output(list);
}
public static void testVector()
{
List list=new Vector();
init(list);
System.out.println("使用Vector:");
output(list);
}
public static void testLinkList()
{
List list=new LinkedList();
init(list);
System.out.println("使用Linklist:");
output(list);
}
public static void main(String[] args)
{
TestList.testArrayList();
TestList.testVector();
TestList.testLinkList();
List list=new ArrayList();
list.add("aaa");
list.add("bbb");
System.out.println("插入元素后");
output(list);
list.add(1,"fff");
System.out.println("指定位置插入元素后");
output(list);
List list2=new ArrayList();
list2.add("ggg");
list2.add("hhh");
list2.add("aaa");
list.addAll(list2);//将一个表2插入到表1后面
System.out.println("将一个表2插入到表1后面");
output(list);
System.out.println("是否包含“aaa” "+list.contains("aaa"));
System.out.println("是否全部包含list2 "+list.containsAll(list2));
System.out.println("第一次出现aaa的位置 "+list.indexOf("aaa"));
System.out.println("最后一次出现aaa的位置 "+list.lastIndexOf("aaa"));
//更新列表中某元素的值
list.set(2, "xxx");
System.out.println("更新之后的值 ");
output(list);
//删除某个元素 只删除第一次出现的位置
list.remove("aaa");
System.out.println("删除aaa之后的值 ");
output(list);
//删除指定位置的值
list.remove(3);
System.out.println("删除3位置之后的值 ");
output(list);
// list.retainAll(list2);//只保存list2中的元素
//output(list);
list.removeAll(list2);//移除list2中的元素
output(list);
list.clear();
System.out.println("是否为空"+list.isEmpty());
init(list);
list2=list.subList(1, 3);//讲某一段赋给新的表
output(list2);
ListIterator it=list.listIterator();
System.out.println("正向遍历列表");
while (it.hasNext())
{
System.out.print(it.next()+" ");
}
System.out.println();
System.out.println("反向遍历列表");
while(it.hasPrevious())
{
System.out.print(it.previous()+" ");
}
System.out.println();
LinkedList list3=new LinkedList();
init(list3);
list3.addFirst("qqqq");//插入表头的位置
output(list3);
list3.addLast("wwww");
output(list3);
System.out.println("获取表头元素"+list3.getFirst());
System.out.println("获取表尾元素"+list3.getLast());
System.out.println("删除表头元素后");
list3.removeFirst();
output(list3);
System.out.println("删除表尾元素后");
list3.removeLast();
output(list3);
}
}