現在的位置: 首頁 > 綜合 > 正文

Java LinkedList類和Vector類

2018年06月05日 ⁄ 綜合 ⁄ 共 2685字 ⁄ 字型大小 評論關閉

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));
		}
	}
}

抱歉!評論已關閉.