java高級編程第一章——集合 筆記

第一章   ——集合框架

 

集合包含3個重要接口:Collection(無序可重複)/Set(無序不可重複)/List(有序,可以重複)

 

AbstractCollection是一個抽象類,他實現了Collection接口中的某些方法。AbstractListAbstractSet都繼承於此.

SortedSet接口繼承了Set接口,其是有序的;

 

編程測試Arraylist 可以存在相同的元素,存儲是有序的,按照添加順序

編程測試HashSet 不可以存在相同的元素,存儲是無序的。

編程測試TreeSet(繼承AbstractSet同時實現了SoredSet )存放同一類型數據並按照由低到高順序排列(測試了int double)混入其他類型數據運行會報錯。

 

Iterator接口聲明瞭三個方法  hasNext() next()        remove().其中remove刪除的是迭代器最後一次返回的元素。

 

對於List來說 ListIterator更加好用,它直接繼承自Iterator 但是它除了可以得到下一個元素外還可以得到上前一個元素

關於ListIteratornext的問題 li.next();已經調到下一個。所以如何取list中的第一個數據需要注意。

 

 

映射(map)映射實際上是鍵值對的集合,map接口中定義了一些基本操作。put添加一對數據。但是映射中不包含重複的鍵,若插入的鍵已經存在,新值將覆蓋舊值。使用get取出值,使用keySet方法可以返回一個set,其中包含了映射中所有的鍵。使用values可以返回一個Collection其中包含了該鍵對應的所有的值。

Map( TreeMap  AbstractMap       Attributcs    HashTable StoredMap----)

抽象類AbstractMap 實現了接口Map中的方法,爲其子類的實現提供了一個框架。

StoredMap繼承與Map,它保證映射中的鍵是按照升序排列的。或者按照構造時給定的Comparator所決定的順序。

HashMap是在hashTable基礎上實現了Map接口的方法,它基本上與HashTable類是等價的,除了兩點不同:hashMap不是同步的,因此在putget的時候應該由程序員來保證操作的同步。HashMap允許鍵和值爲null.

TreeMap按照key由小到大排列結果。

 

關於iteratord的研究:迭代器模式又叫做遊標模式。遍歷容器的內容

 

 

排序:數組的排序。Arrays提供了一些列的sort()方法來對數組進行排序(必須所有的 數據可以兩兩比較)要實現對象數組排序,要麼這個類實現了ComparableN 要麼爲sort方法提供一個實現comparator接口的類

 

關於comparator接口中聲明瞭一個compareTo(Object 0)方法,如果一個類實現了該接口,那麼sort就可以調用某對象的這個方法與另一個方法比較 若小於 返回附屬,大於返回正數。

 

 

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