java 9.11Collections工具類及容器總結

Collections工具類

類 java.util.Collections 提供了對Set、List、Map進行排序、填充、查找元素的輔助方法。

1. void sort(List) //對List容器內的元素排序,排序的規則是按照升序進行排序。

2. void shuffle(List) //對List容器內的元素進行隨機排列。

3. void reverse(List) //對List容器內的元素進行逆續排列 。

4. void fill(List, Object) //用一個特定的對象重寫整個List容器。

5. int binarySearch(List,Object)//對於順序的List容器,採用折半查找的方法查找特定對象。

Advertisements

【示例9-23】Collections工具類的常用方法

public class Test {

public static void main(String[] args) {

List<String> aList = new ArrayList<String>();

for (int i = 0; i < 5; i++){

aList.add("a" + i);

}

System.out.println(aList);

Collections.shuffle(aList); // 隨機排列

System.out.println(aList);

Collections.reverse(aList); // 逆續

Advertisements

System.out.println(aList);

Collections.sort(aList); // 排序

System.out.println(aList);

System.out.println(Collections.binarySearch(aList, "a2"));

Collections.fill(aList, "hello");

System.out.println(aList);

}

}

執行結果如圖9-31所示:

容器總結

1. Collection 表示一組對象,它是集中、收集的意思,就是把一些數據收集起來。

2. Collection介面的兩個子介面:

1) List中的元素有順序,可重複。常用的實現類有ArrayList、LinkedList和 vector。

Ø ArrayList特點:查詢效率高,增刪效率低,線程不安全。

Ø LinkedList特點:查詢效率低,增刪效率高,線程不安全。

Ø vector特點:線程安全,效率低,其它特徵類似於ArrayList。

2) Set中的元素沒有順序,不可重複。常用的實現類有HashSet和TreeSet。

Ø HashSet特點:採用哈希演算法實現,查詢效率和增刪效率都比較高。

ØTreeSet特點:內部需要對存儲的元素進行排序。因此,我們對應的類需要實現Comparable介面。這樣,才能根據compareTo()方法比較對象之間的大小,才能進行內部排序。

3. 實現Map介面的類用來存儲鍵(key)-值(value) 對。Map介面的實現類有HashMap和TreeMap等。Map類中存儲的鍵-值對通過鍵來標識,所以鍵值不能重複。

4. Iterator對象稱作迭代器,用以方便的實現對容器內元素的遍歷操作。

5. 類 java.util.Collections 提供了對Set、List、Map操作的工具方法。

6. 如下情況,可能需要我們重寫equals/hashCode方法:

1) 要將我們自定義的對象放入HashSet中處理。

2) 要將我們自定義的對象作為HashMap的key處理。

3) 放入Collection容器中的自定義對象后,可能會調用remove、contains等方法時。

7. JDK1.5以後增加了泛型。泛型的好處:

1) 向集合添加數據時保證數據安全。

2) 遍歷集合元素時不需要強制轉換。

Advertisements

你可能會喜歡