MapAPI
CRUD
put(K key, V value)
- 说明:添加或更新
key对应的value - 返回值:原来的
value(如果key已存在),否则返回null
java
Map<String, Integer> scores = new HashMap<>();
Integer oldValue1 = scores.put("Tom", 90);
Integer oldValue2 = scores.put("Tom", 95);
System.out.println(oldValue1); // null
System.out.println(oldValue2); // 90
System.out.println(scores); // {Tom=95}get(Object key)
- 说明:获取
key对应的value - 返回值:对应的
value,如果不存在则返回null
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
Integer value1 = scores.get("Tom");
Integer value2 = scores.get("Jerry");
System.out.println(value1); // 95
System.out.println(value2); // nullremove(Object key)
- 说明:删除指定的
key - 返回值:被删除的
value,如果不存在则返回null
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
Integer removed = scores.remove("Tom");
System.out.println(removed); // 95
System.out.println(scores); // {Jerry=88}putAll(Map<? extends K, ? extends V> m)
- 说明:将另一个
Map中的所有键值对批量添加到当前Map - 返回值:无
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
Map<String, Integer> moreScores = new HashMap<>();
moreScores.put("Jerry", 88);
moreScores.put("Rose", 100);
scores.putAll(moreScores);
System.out.println(scores); // {Tom=95, Jerry=88, Rose=100}clear()
- 说明:清空整个
Map - 返回值:无
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
scores.clear();
System.out.println(scores); // {}
System.out.println(scores.isEmpty()); // true查询
containsKey(Object key)
- 说明:判断是否包含某个
key - 返回值:
true或false
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
System.out.println(scores.containsKey("Tom")); // true
System.out.println(scores.containsKey("Jerry")); // falsecontainsValue(Object value)
- 说明:判断是否包含某个
value - 返回值:
true或false
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
System.out.println(scores.containsValue(95)); // true
System.out.println(scores.containsValue(100)); // falseisEmpty()
- 说明:判断
Map是否为空 - 返回值:
true或false
java
Map<String, Integer> scores = new HashMap<>();
System.out.println(scores.isEmpty()); // true
scores.put("Tom", 95);
System.out.println(scores.isEmpty()); // falsesize()
- 说明:获取
Map中元素数量 - 返回值:元素个数
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
System.out.println(scores.size()); // 2获取视图
keySet()
- 说明:获取所有
key - 返回值:
Set<K>
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
Set<String> keys = scores.keySet();
System.out.println(keys); // [Tom, Jerry]values()
- 说明:获取所有
value - 返回值:
Collection<V>,运行时类是HashMap.Values,他实现了Collection接口
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
Collection<Integer> values = scores.values();
System.out.println(values); // [95, 88]entrySet()
- 说明:获取所有键值对集合
- 返回值:
Set<Map.Entry<K, V>>
java
Map<String, Integer> scores = new HashMap<>();
scores.put("Tom", 95);
scores.put("Jerry", 88);
Set<Map.Entry<String, Integer>> entries = scores.entrySet();
for (Map.Entry<String, Integer> entry : entries) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}