Android开发 - Map 键值对链表的使用解析
创建和初始化 Map
-
HashMap
:常用的实现类,基于哈希表Map<String, Integer> map = new HashMap<>();
-
LinkedHashMap
:保持插入顺序的实现类Map<String, Integer> map = new LinkedHashMap<>();
-
TreeMap
:基于红黑树,按键的自然顺序或提供的比较器排序Map<String, Integer> map = new TreeMap<>();
添加键值对
-
map.put(K key, V value)
:添加或更新键值对map.put("Apple", 1); map.put("Banana", 2);
获取值
-
map.get(K key)
:根据键获取值Integer value = map.get("Apple"); // value = 1
-
map.containsKey(K key)
:检查是否包含指定键boolean hasKey = map.containsKey("Banana"); // true
-
map.containsValue(V value)
:检查是否包含指定值boolean hasValue = map.containsValue(1); // true
删除键值对
-
map.remove(K key)
:删除指定键的键值对map.remove("Apple");
遍历 Map
-
map.entrySet()
:遍历键值对集合for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println(key + ": " + value); }
-
map.keySet()
:遍历键集合for (String key : map.keySet()) { Integer value = map.get(key); System.out.println(key + ": " + value); }
-
map.values()
: 遍历值集合for (Integer value : map.values()) { System.out.println(value); }
清空 Map
-
map.clear()
:清空所有键值对map.clear();
检查 Map 是否为空
-
map.isEmpty()
:检查是否为空boolean empty = map.isEmpty(); // 如果为空,则为true
补充
Map<String, Integer>
的键值类型为泛型,可以是任何类型