1. 程式人生 > >Hashset 和 HashMap的區別

Hashset 和 HashMap的區別

重複性

  1. List 允許有重複元素。任何數量的重複元素都可以在不影響現有重複元素的值及其索引的情況下插入到 List。

  2. Set 不允許重複。Set 以及所有實現了 Set 介面的類都不允許重複值的插入。

  3. Map 以鍵值對的形式對元素進行儲存。Map 不允許重複鍵但允許重複值

空值

  1. List 允許任意數量的空值

  2. Set** 最多允許一個空值**的出現。

  3. Map 只允許出現一個空鍵但允許任意數量的空值

排序

  1. List 及其所有實現類保持了每個元素的插入順序

  2. Set 中的元素都是無序的;但某些 Set 的實現類以某種順序對其中的元素進行排序,比如 LinkedHashSet 按照元素的

    插入順序進行排序。

  3. Map 跟 Set 一樣對元素進行無序儲存,但其某些實現類對元素進行了排序。比如,TreeMap 依據鍵對其中的元素進行升序排序而 LinkedHashMap 則按照每個元素的插入次序進行排序。

常用實現類

  1. List:ArrayList、LinkedList 等等。`

  2. Set:HashSet、LinkedHashSet、TreeSet、SortedSet 等等。

  3. Map:HashMap、TreeMap、WeakHashMap、LinkedHashMap、IdentityHashMap 等等。