转自:http://www.jb51.net/article/45660.htm
java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解。
List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引,
ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步
LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快)
Vector:底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢,被ArrayList替代了)
List:特有的方法,凡是可以操作角标的方法都是该体系特有的方法
增:
1 boolean add(int index, E element) 2 boolean addAll(index,Collection)
1 public static void List_add(){ 2 ArrayList a1 = new ArrayList(); 3 a1.add("java"); 4 a1.add("php");//List集合中的元素可以重复 5 a1.add(".net"); 6 System.out.println("原集合:"+a1); 7 a1.add(1, "Flash"); 8 a1.add(0, "ps"); 9 System.out.println(a1); 10 11 ArrayList a2 = new ArrayList(); 12 a2.add("javascript"); 13 a2.add("3dMax"); 14 a2.add("IBM"); 15 16 a1.addAll(0, a2); 17 System.out.println(a1); 18 }