java Map 的学习
一、常用API:
clear() | 从 Map 中删除所有映射 |
remove(Object key) | 从 Map 中删除键和关联的值 |
put(Object key, Object value) | 将指定值与指定键相关联 |
putAll(Map t) | 将指定 Map 中的所有映射复制到此 map |
entrySet() | 返回 Map 中所包含映射的 Set 视图。Set 中的每个元素都是一个 Map.Entry 对象,可以使用 getKey() 和 getValue() 方法(还有一个 setValue() 方法)访问后者的键元素和值元素 |
keySet() | 返回 Map 中所包含键的 Set 视图。如果要删除 Set 中的元素还将会删除 Map 中相应的映射(键和值) |
values() | 返回 map 中所包含值的 Collection 视图。如果要删除 Collection 中的元素还将会删除 Map 中相应的映射(键和值) |
get(Object key) | 返回与指定键关联的值 |
containsKey(Object key) | 如果 Map 包含指定键的映射,则返回 true |
containsValue(Object value) | 如果此 Map 将一个或多个键映射到指定值,则返回 true |
isEmpty() | 如果 Map 不包含键-值映射,则返回 true |
size() | 返回 Map 中的键-值映射的数目 |
二、对map的一顿操作:
1 // Map的声明,初始化 2 Map<String, Object> map1 = new HashMap<>(); 3 Map<String, Object> map2 = new HashMap<>(); 4 Map<String, Object> map3 = new HashMap<>(); 5 // put操作 6 map1.put("name", "xiaoming"); 7 map1.put("sex", "0"); 8 map1.put("phone", "13566668888"); 9 map1.put("email", "xiaoming@163.com"); 10 map1.put("age", "18"); 11 // get操作 12 Object phone = map1.get("phone"); 13 // keySet操作 14 for (String key : map1.keySet()) { 15 map2.put(key, map1.get(key)); 16 } 17 // putAll操作 18 map3.putAll(map1); 19 int size = 0; 20 // containsKey操作 21 if (map2.containsKey("name")) { 22 // containsValue操作 23 if (map3.containsValue("xiaoming")) { 24 // remove操作 25 map1.remove("sex"); 26 // size操作 27 size = map1.size(); 28 } 29 } 30 // clear操作 31 map2.clear(); 32 // imEmpty操作 33 if (map2.isEmpty()) { 34 map2.putAll(map); 35 }
1 // entrySet操作,注意entry的类型 2 for (Map.Entry<String, Object> entry : map3.entrySet()) { 3 System.out.println(entry.getKey() + " :" + entry.getValue()); 4 }
参考文章:http://baike.xsoftlab.net/view/250.html#1_1