目录
1.2、 第二种通过entrySet遍历获取key和value(推荐使用)
1.3、 第三种通过entrySet().iterator()遍历获取key和value
1.4 、第四种通过map.values()遍历获取所有的value
2、Map集合isEmpty方法,getOrDefault方法,remove方法,clear方法
1、Map集合遍历四种方法
//定义map
Map<String,String> map = new HashMap();
map.put("1","添加的第一个元素python");
map.put("2","添加的第二个元素java");
map.put("3","添加的第三个元素Javascript");
map.put("4","添加的第四个元素C++");
1.1、 第一种通过key遍历获取value
System.out.println("=========第一种通过key遍历获取value==========");
for (String a1 : map.keySet()) {
System.out.println(map.get(a1));
}
运行结果:
=========第一种通过key遍历获取value==========
添加的第一个元素python
添加的第二个元素java
添加的第三个元素Javascript
添加的第四个元素C++
1.2、 第二种通过entrySet遍历获取key和value(推荐使用)
System.out.println("=========第二种通过entrySet遍历获取key和value(推荐使用)==========");
for (Map.Entry<String,String> map1 : map.entrySet()){
System.out.println("key: " + map1.getKey()+"value: "+map1.getValue());
}
运行结果:
=========第二种通过entrySet遍历获取key和value(推荐使用)==========
key: 1value: 添加的第一个元素python
key: 2value: 添加的第二个元素java
key: 3value: 添加的第三个元素Javascript
key: 4value: 添加的第四个元素C++
1.3、 第三种通过entrySet().iterator()遍历获取key和value
System.out.println("=========第三种通过entrySet().iterator()遍历获取key和value==========");
for (Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); it.hasNext(); ) {
Map.Entry<String,String> map2 = it.next();
System.out.println("key: " + map2.getKey()+"value: "+map2.getValue());
}
运行结果:
=========第三种通过entrySet().iterator()遍历获取key和value==========
key: 1value: 添加的第一个元素python
key: 2value: 添加的第二个元素java
key: 3value: 添加的第三个元素Javascript
key: 4value: 添加的第四个元素C++
1.4 、第四种通过map.values()遍历获取所有的value
System.out.println("=========第四种通过map.values()遍历获取所有的value==========");
for (String a1 : map.values()) {
System.out.println(a1);
}
运行结果:
=========第四种通过map.values()遍历获取所有的value==========
添加的第一个元素python
添加的第二个元素java
添加的第三个元素Javascript
添加的第四个元素C++
2、Map集合isEmpty方法,getOrDefault方法,remove方法,clear方法
System.out.println("******** map的isEmpty方法,getOrDefault方法,remove方法,clear方法 ********");
Map<Object,Object> mapA = new HashMap<>();
mapA.put("1","test1");
mapA.put("2","test2");
mapA.put("3","test3");
Boolean flag = true;
if (mapA.isEmpty()){
System.out.println("******** mapA的isEmpty方法 ********");
System.out.println("如果mapA为空,则return: "+flag);
System.out.println("mapA的值: "+mapA.values());
return;
}else {
System.out.println("如果mapA不为空,则return: "+!flag);
System.out.println("根据指定的Key获取value: "+ mapA.get("2"));
System.out.println("******** mapA的getOrDefault方法 ********");
System.out.println("根据指定的Key获取value: "+ mapA.getOrDefault("4","ddddd"));
System.out.println("remove之前mapA的值: "+mapA.values());
System.out.println("******** mapA的remove 方法 ********");
mapA.remove("1");
System.out.println("remove之后,clear之前mapA的值: "+mapA.values());
System.out.println("******** mapA的clear 方法 ********");
mapA.clear();
System.out.println("clear之后mapA的值: "+mapA.values());
return;
}
运行结果:
******** map的isEmpty方法,getOrDefault方法,remove方法,clear方法 ********
如果mapA不为空,则return: false
根据指定的Key获取value: test2
******** mapA的getOrDefault方法 ********
根据指定的Key获取value: ddddd
remove之前mapA的值: [test1, test2, test3]
******** mapA的remove 方法 ********
remove之后,clear之前mapA的值: [test2, test3]
******** mapA的clear 方法 ********
clear之后mapA的值: []