Map的元素是“key-value”對,其中key可以是任何類型,key不能重複,每個key對應一個value,所以它的添加元素不是用add方法,而是使用put(key:Object,value:Object):Object。可以使用keySet()、entrySet()返回對應的key、value的規則集(SET),可以使用containsKey(key:Object)、containsValue(value:Object)判斷是否存在對應key或value。
它的具體實現子類包括HashMap、LinkedHashMap、TreeMap。
HashMap的元素對的儲存是沒有按順序的,其索引的效率也是最高的;LinkedHashMap可以按元素對的儲存的先後順序儲存,也可以俺訪問的順序儲存,其順序是先早後晚,也就最近剛訪問的排在最後面,但這種俺訪問順序儲存的建構函式得使用LinkedHashMap(initialCapacity, loadFactor, true);TreeMap的元素對按key的順序進行排序,所以key必須實現Comparable或Comparator介面,實現Comparator比較子的TreeMap必須使用TreeMap(Comparator
comparator)建構函式。
Collections類是對集合、圖進行管理的工具類。
建立同步集合、圖,建立唯讀集合、圖,建立單元素或元素對的集合、圖,可以對List進行排序(sort)、尋找(binarySearch)、填充(fill)、打亂順序(shuffle)、複製(copy)、倒置(reverse),可以將一個值o複製n份副本產生一個List,可以對Collection進行求最大最小值(max、min),等等。
Arrays類是對數組進行操作的工具類。
關於Java的集合架構就學這麼多,如果還有更好的集合、或者我的理解中有錯誤的請大家來一起交流、一起學習!
可以用一個數組產生一個對應的List(asList),可以對數組元素進行排序(sort)、尋找(binarySearch)、比較(equals)、填充(fill),等等。
關於Java的集合架構就學到這裡,如果有更好的集合或者我的理解有錯誤的請大家指出來,一起交流一起學習!