天天看點

Java基礎知識:java.util.Map集合java.util.Map集合

java.util.Map集合

1. Map集合

  • 将鍵映射到值的對象集合稱為Map集合。一個映射不能包含重複的鍵,每個鍵最多隻能映射到一個值

2. 常用功能

  • 添加功能
    • Object put(K key, V value):添加元素。如果鍵第一次存儲,直接存儲傳回null,如果不是第一次存儲,替換以前的值,傳回舊值
  • 删除功能
    • void clear():移除所有鍵值對元素
    • V remove(Object obj):根據鍵删除值,并傳回舊值
  • 判斷功能
    • boolean containsKey(Object obj):判斷是否包含鍵
    • boolean containsValue(Object obj):判斷是否包含值
  • 擷取功能
    • V get(Object obj):根據鍵擷取值,并傳回值
    • set keySet():擷取集合中所有鍵的集合
    • Collection Values:擷取集合中所有值得集合

3. 常見子類

  • HashMap
    • 基于哈希表的Map接口實作,保證鍵的唯一性
    • 保證唯一必須覆寫底層的HashCode()和equals()方法
  • LinkedHashMap
    • 是Map接口的哈希表和連結清單實作,具有可預知的疊代順序
  • TreeMap
    • 基于紅黑相對的Map接口實作,保證鍵的唯一和有序

4、Collections工具類

  • 針對集合進行操作的工具類,都是靜态方法

4.1 常用方法

  • static void sort(List list):排序(自然排序)
  • public static T max(Collectionn

5、集合的選擇

  • 是否為鍵值對對象形式:
    • 是:Map
      • 鍵是否需要排序:
        • 是:TreeMap
        • 否:HashMap
      • 不知道是否要排序就用HashMap
    • 否:Collection
      • 元素是否唯一:
        • 是:Set
          • 是否要排序:
            • 是:TreeSet
            • 否:HashSet
        • 否:List
          • 是否安全:
            • 是:Vector
            • 否:ArrayList、LinkedList