Map集合是一种以键值对形式存储和操作数据的数据结构,建立了key-value之间的映射关系,常用于存储和处理复杂的数据
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<String, Integer> map = new HashMap<>();map.put("a", 1);map.put("b", 2);map.put("a", 111);System.out.println(map); // 输出 {a=111, b=2}
输出结果
{a=111, b=2}
由于 key 值的重复,第二次 put 操作将会覆盖掉原来的值,最终输出结果为 {a=111, b=2}
2,get():get 方法用于获取指定 key 对应的 value 值
map.put("a", 1);map.put("b", 2);int value = ("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=ve("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 = ainsKey("a");
boolean hasC = ainsKey("c");
boolean hasValue2 = ainsValue(2);
boolean hasValue3 = ainsValue(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<String,String> map=new HashMap<>();//新增键值对map.put("呼保义","宋江");map.put("玉麒麟","卢俊义");map.put("智多星","吴用");map.put("入云龙","公孙胜");
//第一种keySetSet te = map.keySet();//获取所有值for (Object key : te) {
// System.out.println("键:" + key);Object va = (key);System.out.println("键:" + key + "t值:" + va);}
System.out.println("方法2 entrySet");//第二种entrySetSet Keset = Set();for (Object ob : Keset) {Map.Entry entry = (Map.Entry) ob;Object key = Key();//键Object values = Value();//值System.out.println(key + "===" + values);}
System.out.println("方法3 通过values获取集合(没有值)");//第三种通过values获取集合(没有值)Collection com = map.values();for (Object oo : com) {System.out.println(oo);}
System.out.println("方法4 迭代器方式");Iterator iterator=map.keySet().iterator();while (iterator.hasNext()){Object next = ();Object o = (next);System.out.println("key:"+next+"tvalues:"+o);}
System.out.println(" Lamdba表达式");map.forEach((k, v) -> {System.out.println(k + "=========" + v);});
总结不易,点个小攒攒在走把~~
本文发布于:2024-01-30 18:19:10,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170660995421919.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |