java學習小筆記(一.容器)

積累~

一,容器
1. 在使用linkedList時,提供了實現移除頂部元素的幾種方法,記住一點:使用getFirst()和element()時,當list爲空時,將拋出noSuchElement Exception,可以用peek()方法替代,當類表爲空時返回null,類似的還有poll(),offer()方法

2.stack(棧)是類,而且實現了list和繼承了vector,他的規則是lifo,後進先出。  區分queue(隊列),是fifo先進先出,他是一個接口。無需建立stack的事例,可以使用linkedList,裏面包含了用作棧,隊列,雙向隊列的方法(linkedList同時實現了set ,list,queue接口,超強大耶 )。vector,hashable,stack已經過時了,沒必要再去使用它

3.hashSet是獲取元素最快的集合,不過他是按照hash算法排序的,同樣地,hashMap可以提供快速訪問的鍵值對,treeMap的鍵按樹是排序的故沒有hashMap快,linkedHashMap是按插入循序排序的,集合了既快速訪問又有序的優點

4.jdk1.5新增的priorityQueue ,元素可以按照優先級排序,除了自然排序,可以定義自己的comparator來排序

5.實現了map接口的如hashMap,treeMap,linkedHashMap不能直接使用foreach,因爲他們都不是實現了iterable(可迭代)的,但jdk1.5提供了entrySet()方法,可把他們轉變爲一個set類型,具體是set<Map.entry<k,v>>,set是一個collection,可以進行迭代。另外,map向collection過度還有keyset()和values()方法,沒有提供向數組轉換的直接方法,只能先轉爲collection再調用toArray(collection<T>)進行轉換

6.listIterator是Iterator的實現,他的擴展是能夠使用previous向前索引,還有hasPrevious方法

7.java容器簡單分類圖
    



發佈了25 篇原創文章 · 獲贊 29 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章