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