Java基础笔记26-Map集合
-
Map集合是双列集合,是以键值对的形式存储数据的,关于键值对可以简单的理解为数学学的映射关系。
-
Map集合中key值不能重复的,同时,key所对应的值至多为一个。
-
key可以为null,但至多有一个键为null。
-
常见实现子类
- HashMap
- TreeMap
-
常用方法
-
增加
put(K key,V value) 将指定的值与指定的键进行关联,当键与原来的键相同时,后写的会覆盖之前的键对应的值。
putAll(Map<? extends K,? extends V> m) 将指定Map集合的元素全部放入指定的Map集合中 -
删除
remova(Object key) 通过指定的键删除对应的元素
remove(Object key, Object value) 通过指定的键值对对元素进行移除,只有键值对完全对应时才能删除clear() 将Map集合清空
-
查询
get(Object key) 通过指定的键得到对应的元素
containsKey(Object key) 如果此映射包含指定键的映射,则返回
true
。
containsValue(Object value) 如果此地图将一个或多个键映射到指定的值,则返回true
。
isEmpty() 查询此集合是否为空,返回布尔值
size() 返回此地图中键值映射的数量
values() 返回此地图中包含的值的Collection集合
keySet() 返回此地图中包含的键的 Set 集合 ,因为Map集合中的键是不能重复的,所以所有的键组成的集合用Set类型entrySet() 返回此地图中包含的映射的Set集合。
-
-
HashMap演示
-
public class MapDemo { public static void main(String[] args) { hashMapMethod(); } public static void hashMapMethod() { Map<String,Object> newMap = new HashMap<>(); newMap.put("name", "煤球"); newMap.put("age", 4); newMap.put("gender", "male"); newMap.put("kind", "cat"); newMap.put("color", "black"); newMap.put("love", null); newMap.put(null,"空"); newMap.put(null, 121); //输出全部元素 System.out.println("全部元素:"+newMap); //获取key=name对应的值 System.out.println("name="+newMap.get("name")); //移除key=love对应的元素 newMap.remove("love"); System.out.println("移除后:"+newMap); //清空newMap newMap.clear(); System.out.println("清空后:"+newMap); //查询是否为空 System.out.println("是否为空:"+newMap.isEmpty()); } }
-
输出:
-
全部元素:{love=null, null=121, gender=male, color=black, kind=cat, name=煤球, age=4} name=煤球 移除后:{null=121, gender=male, color=black, kind=cat, name=煤球, age=4} 清空后:{} 是否为空:true
-
获取全部的键或全部的值并输出
-
public static void keyAndValueDemo() { Map<String,Object> newMap = new HashMap<>(); newMap.put("name", "煤球"); newMap.put("age", 4); newMap.put("gender", "male"); newMap.put("kind", "cat"); newMap.put("color", "black"); newMap.put("love", null); newMap.put(null,"空"); newMap.put(null, 121); //keySet()获取全部的key Set<?> keySet = newMap.keySet(); //遍历输出 Iterator<?> it = keySet.iterator(); while(it.hasNext()) { System.out.println(it.next()); } System.out.println("---------"); //values()获取全部的值 Collection<?> values = newMap.values(); //遍历输出 Iterator<?> itValues = values.iterator(); while(itValues.hasNext()) { System.out.println(itValues.next()); } }
-
输出:
-
love null gender color kind name age --------- null 121 male black cat 煤球 4