集合框架Map的常见使用及循环的五中方式

发布时间 2023-12-01 20:29:26作者: 伊利同学
Map集合是什么? Map集合是一种以键值对形式存储和操作数据的数据结构,建立了key-value之间的映射关系,常用于存储和处理复杂的数据 Map集合的主要特点: Map和List不同,Map是一种双列集合; Map存储的是key-value的映射关系; Map不保证顺序。在遍历时,遍历的顺序不一定是put()时放入的key的顺序,也不一定是key的排序顺序; 常用方法: Map集合的使用和其他集合类似,主要包括添加、删除、获取、遍历元素等操作 方法名 描述 clear() 删除map中所有键值对 isEmpty() 判断map是否为空 size() 计算map中键值对的数量 put() 将键值对添加到map中 remove() 删除map指定的键值对 get() 获取指定key对应value keySet() 返回map所有的key键 values() 返回map所有的values值 replace() 替换map中指定的key对应的values 使用方法: 1,put():Map 中添加一个键值对 //如果添加的 key 已经存在,则会覆盖原来的 value 值 Map map = new HashMap<>(); map.put("a", 1); map.put("b", 2); map.put("a", 111); System.out.println(map); // 输出 {a=3, b=2} 输出结果 {a=111, b=2} 由于 key 值的重复,第二次 put 操作将会覆盖掉原来的值,最终输出结果为 {a=3, b=2} 2,get():get 方法用于获取指定 key 对应的 value 值 map.put("a", 1); map.put("b", 2); int value = map.get("a"); System.out.println( value); // 输出 1 输出结果 1 我们通过 get 方法获取了 key 为 "a" 的 value 值,并输出结果为 1 3,remove():remove 方法用于删除指定 key 对应的键值对 map.put("a", 1); map.put("b", 2); System.out.println(map); // 输出 {a=1, b=2} map.remove("a"); System.out.println(map); // 输出 {b=2} 输出结果 {a=1, b=2} {b=2} 通过 remove 方法删除了 key 为 "a" 的键值对,并将结果输出为 {b=2}。注意,如果 key 不存在,则 remove 方法不会产生任何影响 4. containsKey 和 containsValue containsKey 和 containsValue 方法分别用于判断 Map 中是否包含指定的 key 或 value 值 map.put("a", 1); map.put("b", 2); boolean hasA = map.containsKey("a"); boolean hasC = map.containsKey("c"); boolean hasValue2 = map.containsValue(2); boolean hasValue3 = map.containsValue(3); System.out.println(hasA); // 输出 true System.out.println(hasC); // 输出 false System.out.println(hasValue2); // 输出 true System.out.println(hasValue3); // 输出 false 输出结果 true false true false Map 中添加了两个键值对,然后分别使用 containsKey 和 containsValue 方法来判断是否包含指定的 key 或 value 值,并将结果输出 5,clear():clear 方法用于清空 Map 中所有的键值对 map.put("a", 1); map.put("b", 2); System.out.println(map); // 输出 {a=1, b=2} map.clear(); System.out.println(map); // 输出 {} 使用 clear 方法清空了 Map 中所有的键值对,并将其输出为空集合 循环方法 Map提供了很多不同的循环方式,可根据需求选择不同的方式,以下列举了五种常见的循环方式: 首先创建一个map集合 //创建一个map集合 Map map=new HashMap<>(); //新增键值对 map.put("呼保义","宋江"); map.put("玉麒麟","卢俊义"); map.put("智多星","吴用"); map.put("入云龙","公孙胜"); 1,使用keySet循环 //第一种keySet Set te = map.keySet();//获取所有值 for (Object key : te) { // System.out.println("键:" + key); Object va = map.get(key); System.out.println("键:" + key + "\t值:" + va); } 2,使用entrySet遍历 System.out.println("方法2 entrySet"); //第二种entrySet Set Keset = map.entrySet(); for (Object ob : Keset) { Map.Entry entry = (Map.Entry) ob; Object key = entry.getKey();//键 Object values = entry.getValue();//值 System.out.println(key + "===" + values); } 3,使用values获取集合(没有值) System.out.println("方法3 通过values获取集合(没有值)"); //第三种通过values获取集合(没有值) Collection com = map.values(); for (Object oo : com) { System.out.println(oo); } 4,Iterator迭代器方式 System.out.println("方法4 迭代器方式"); Iterator iterator=map.keySet().iterator(); while (iterator.hasNext()){ Object next = iterator.next(); Object o = map.get(next); System.out.println("key:"+next+"\tvalues:"+o); } 5,Lamdba表达式 System.out.println(" Lamdba表达式"); map.forEach((k, v) -> { System.out.println(k + "=========" + v); }); 总结不易,点个小攒攒在走把~~ ———————————————— 版权声明:本文为CSDN博主「天降伊利大王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/liyil66464/article/details/134739440