《Java編程十五講》第十四講:Java裏提供的常用數據容器框架三

#第十五講 容器框架三

我們到此已經把ArrayList、HashSet和HashMap講過了。JDK裏面還有一些實現,如Queue、Deque、TreeSet、TreeMap等,我就不一一講了。現在回顧一下。

Collection保存單一的元素,而Map把保存鍵值對。用泛型技術,就可以將制訂類型的對象放到容器中,不會出現類型錯誤的元素,取出來的時候也不需要再進行類型轉換。

Collection和Map都不定長,向裏面添加更多元素的時候,會自動調整容量。

跟數組一樣,List維持位置索引和對象的關聯,因此是由確定次序的容器。

如果進行大量的隨機訪問,使用ArrayList,如果經常增刪改數據,應該用LinkedList。

各種Queue和棧,底層用的是LinkedList。

HashMap設計用來快速訪問,而TreeMap保持鍵值處於排序狀態,所以也沒有HashMap快。LinkedHashMap保持元素插入的順序。

Set的元素不可重複。HashSet訪問速度快。TreeSet保持元素處於有序的狀態。LinkedHashSet保持元素插入的順序。

帶tree的類能排序,通過comparable接口給定對象自然排序或者Comparator<T>接口自定義對象的次序關係。

Vector、Stack、Hashtable是歷史遺留下來的類,新程序不要使用。

再介紹一下Collections工具類。這個類包含了很多操作集合的靜態方法。詳細的大家可以看JDK文檔,我這裏只簡要說一下基本的。

####1.排序操作

reverse(List):反轉 List 中元素的順序。

shuffle(List):對 List 集合元素進行隨機排序。

sort(List):根據元素的自然順序對指定 List 集合元素按升序排序。

sort(List,Comparator):根據指定的 Comparator 產生的順序對 List 集合元素進行排序。

swap(List,int, int):將指定 list 集合中的i 處元

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章