LinkedList類
1.LinkedList類用於創建鏈表數據結構。
2.鏈表中元素的數量不受任何限制,可以隨意的添加和刪除。
3.與ArrayList相比,如果需要頻繁的添加和刪除元素,LinkedList的性能更加優越。
4.LinkedList類繼承了AbstractSequentialList類,並實現了List介面。
LinkedList類常用方法:
//返回鏈表的大小,即元素的數量 int size() //判斷鏈表是否為空,為空返回true,否則返回false boolean isEmpty() //清空鏈表中的所有元素,使其成為空鏈表 void clear() //向鏈表中添加一個元素,該元素,該元素可以是任何類的對象 boolean add(Object element) //從鏈表中刪除指定索引位置的元素 Object remove(int index) //返回指定索引位置的元素 Object get(int index) //將元素elem存儲到由index指定的索引位置上 Object set(int index, Object elem) //判斷element在鏈表中是否存在,存在返回對應的索引,否則返回-1 int indexOf(Object element) //將指定元素添加到鏈表的開始處 void addFirst(Object element) //將指定元素添加到鏈表的結尾處 void addLast(Object element) //刪除鏈表中的第一個元素 Object removeFirst() //刪除鏈表中的最後一個元素 Object removeLast() //返回鏈表中的第一個元素 Object getFirst() //返回鏈表中的最後一個元素 Object getLast()
測試案例:
public class LinkedListTest { public static void main(String[] args) { //創建一個空的鏈表 List<Double> linkedList = new LinkedList<Double>(); //循環添加 for (int i=1; i<=10; i++){ //創建一個Double類型的對象 Double temp = new Double(Math.sqrt(i)); //把這個對象添加到鏈表集合中 linkedList.add(temp); } //列印鏈表集合中的元素 for (int i=0; i<linkedList.size(); i++){ System.out.println(linkedList.get(i)); } //刪除第一個元素 ((LinkedList<Double>) linkedList).removeFirst(); //刪除最後一個元素 ((LinkedList<Double>) linkedList).removeLast(); //刪除首尾元素之後再次列印元素 System.out.println("刪除首尾元素之後的鏈表集合:"); for (int i=0; i<linkedList.size(); i++){ System.out.println(linkedList.get(i)); } } }
Vector類
1.Vector類與ArrayList類和LinkedList很相似,最大的區別在於Vector是線程同步的。
2.如果在多線程的程序中要使用到集合框架,並且不希望線程與線程之間互相干擾,那麼Vector是不錯的選擇。
3.Vector類繼承於AbstractList類,並實現了List介面。
Vector常用的方法:
//返回Vector對象的大小,即元素的數量 int size() //判斷Vector對象是否為空,為空返回true,否則返回false boolean isEmpty() //清空Vector對象中的所有元素 void clear() //向Vector對象中添加一個元素,該元素可以是任何類的對象 boolean add(Object element) //從Vector中刪除指定索引位置的元素 Object remove(int index) //返回指定索引位置的元素 Object get(int index) //將元素elem存放到由index知道你個的索引位置上 Object set(int index, Object elem) //判斷element在Vector對象中是否存在,存在返回對應的索引,否則返回-1 int indexOf(Object element) //返回Vector對象的容量,既可以存放元素的個數 int capacity() //將指定元素插入到Vector對象的末尾處 void addElement(Object element) //將指定元素插入到指定索引位置 void insertElementAt(Object elem, int index) //將指定對象替換位於指定索引處的對象 void setElementAt(Object elem, int index) //檢索位於指定索引處的元素 Object ElementAt(int index) //如果Vector對象包含指定元素,返回true boolean contains(Object elem) //返回Vector對象中的第一個元素 Object firstElement() //返回Vector對象中的最後一個元素 Object lastElement() //刪除Vector對象中的所有元素 void removeAllElements() //將Vector對象中的元素複製到指定數組中 void copyInto(Object[] anArray) //根據newSize的值設置Vector對象的容器 void setSize(int newSize)
測試案例:
public class VectorTest { public static void main(String[] args) { //創建一個Vector Vector<String> vector = new Vector<String>(); //往Vector容器中添加元素 vector.addElement("JAVA"); vector.addElement("MYSQL"); vector.addElement("Oracle"); vector.addElement("C#"); //刪除一個元素 vector.removeElement("C#"); //列印 for (int i=0; i<vector.size(); i++){ System.out.println(vector.get(i)); } } }