HashMap,HashTable,HashSet介紹

dgy7 9年前發布 | 17K 次閱讀 HashMap Java開發

1,HashMap

    (1)public class HashMap extends AbstractMap implements Map{}

    (2)key允許且只有一個可以為null,value 可以有多個null

    (3)非線程安全,但是可以通過 Collection.synchronizedMap(Map p)返回線性安全的map

    (4)用的迭代器為iterator

    (5)執行效率比hashtable高一些

    (6)是無序的,LinkedHashMap是有序的,按照存儲順序

    (7)構造方法

            * HashMap():構建一個初始容量為 16,負載因子為 0.75 的 HashMap。
            * HashMap(int initialCapacity):構建一個初始容量為 initialCapacity,負載因子為 0.75 的 HashMap。
            * HashMap(int initialCapacity, float loadFactor):以指定初始容量、指定的負載因子創建一個 HashMap。

2,HashTable

    (1)public class HashTable extends Dictionary implements Map{}

    (2)key 與 value都不允許為null

    (3)是線性安全的

    (4)用的迭代器是enumerator

    (5)執行效率比hashMap低一些

    (6)是無序的

3,HashSet

    (1)public class HashSet extends AbstractSet implements Set{}

    (2)對于 HashSet 而言,它是基于 HashMap 實現的,HashSet 底層采用 HashMap 來保存所有元素

    (3)里面的值不允許重復

    (4)線性非安全,可以用Collection.synchronizedSet(new HashSet());

    (5)是無序的

 本文由用戶 dgy7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!