1. 程式人生 > >簡單說一下Set,list,Map的型別和自己的特點

簡單說一下Set,list,Map的型別和自己的特點

首先是Set,List,Map

Set和list都是繼承了Conllection介面,而Map是本身就是一個介面

set是最簡單的一種集合,沒有重複物件

set介面主要有兩個實現:

    1,hashSet:hashSet按照雜湊演算法進行存取集合中的物件,有hashcode(),存取速度比較快

     2,TreeSet:實現了sortedSet介面而且這個treeset會給值排序

    這兩個都可以用迭代器進行遍歷

 

List介面:

    list有點像陣列一樣,實現有以下

      1,ArrayList:有些和長度可以改變的陣列一樣,當陣列長度不夠的時候,自動增長0.5倍,插入與刪除的速度慢

      2,LinkedList:採用連結串列資料結構,插入,刪除,時候很快,查詢很慢

Map:

    實現有以下:

      1,HashMap:鍵值對,使用hashcode來找對應的key,執行緒不安全,允許有null的key和value

      2,HashTable:執行緒安全,效率低,不允許null的key和value,好像現在被java視為不推薦使用

      3,LinkHashMap:有序,和其他和HashMap差不多

       4,TreeMap:二叉樹的Map介面實現