Map类型的的增删查、判断、循环输出
一个小白 2024-07-17 10:09:00 阅读 61
特点:
双链集合,一次存储一对数据,分为键和值,键唯一,值可多个,键值对应
首先新建集合
Map<String, String> map = new HashMap<>();
添加元素
注意该类型集合添加元素并不使用“add”而是使用“put”
map.put("陈平安","宁姚");
map.put("刘羡阳","赊月");
map.put("顾璨","春宵");
map.put("刘灞桥","苏嫁");
删除指定的元素
通用“remove”,如果想要看到自己删除的内容,可以
String delet = map.remove("刘灞桥"); //只输入键,不输入值
System.out.println(delet); //输出删除值
map.remove("顾璨");
当然如果想重新开始就
//清空
map.clear();
判断
集合内是否存在该类元素的话
//判断
boolean keyreturn = map.containsKey("刘灞桥"); //根据键判断
boolean keyreturn1 = map.containsKey("曹慈");
boolean valuereturn = map.containsValue("苏嫁"); //根据值来判断
boolean valuereturn1 = map.containsValue("裴钱");
System.out.println(keyreturn); //真
System.out.println(keyreturn1); //假
System.out.println(valuereturn);
System.out.println(valuereturn1);
如果想要知道集合是否存在元素,则使用布尔类型的数据来接收结果
//判断集合是否为空
boolean empty = map.isEmpty(); //当没有清空集合元素时为假反之为真
System.out.println(empty);
循环
方法一:
当只想循环两个数据中的其中一个时
Set<String> keys = map.keySet(); //只关于键
for (String key : keys) {
System.out.println(key);
}
Collection<String> values = map.values(); //只关于值
for (String s : values) {
System.out.println(s);
}
都是建立接口,赋值来循环,都使用”增强fo“r的形式,如果想两个一起循环的话
Set<String> keys = map.keySet(); //获取键
for (String key : keys) {
String value = map.get(key); //获取键所对应的值
System.out.println(key+"="+value); //正常输出
}
方法二:
Set<Map.Entry<String, String>> entries = map.entrySet();
//如果选择导包,在最开始的地方输入:import java.util.Map.Entry;则在上面的第一个书名号内可以不用"Map."
for (Map.Entry<String, String> en : entries) {
String key = en.getKey(); //获取键
String val = en.getValue(); //获取值
System.out.println(key+"+"+val); //同样输出全部
}
方法三:
map.forEach(new BiConsumer<String, String>() { //在括号内new一个"BiC"选开头第一个
@Override
public void accept(String key, String value) { //参数根据需要看改不改
System.out.println(key+" = "+value);
}
});
System.out.println("\n"+"=============================="+"\n");
//写法二:lamba写法
map.forEach((key, value)-> System.out.println(key+" = "+value));
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。