containsKey() 是看有没有这个键,也就是有没有这个下标
containsValue() 是看有没有这个键值,也就是有没有这个值
比如
mp.add (10,20);
containsKey (10) 是 true
containsValue (10) 是 false
而containsValue (20) 是 true
区别就是:
前者看没有这个键(下标)后者有没有这个键值(值)
Demo案例:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;/** containsKey() 是看有没有这个键,也就是有没有这个下标containsValue() 是看有没有这个键值,也就是有没有这个值比如mp.add (10,20);containsKey (10) 是 truecontainsValue (10) 是 false而containsValue (20) 是 true区别就是:前者看没有这个键(下标)后者有没有这个键值(值)*/public class day05 {public static void main(String[] args) {List<Map<String,Object>> list = new ArrayList<>();Map<String,Object> map1 = new HashMap<>();map1.put("region","西安");map1.put("num",3.3);Map<String,Object> map2 = new HashMap<>();map2.put("region","上海");map2.put("num",4.3);Map<String,Object> map3 = new HashMap<>();map3.put("region","北京");map3.put("num",5.4);Map<String,Object> map4 = new HashMap<>();map4.put("region","西安");map4.put("num",6.4);Map<String,Object> map5 = new HashMap<>();map5.put("region","西安");map5.put("num",6.1);Map<String,Object> map6 = new HashMap<>();map6.put("region","北京");map6.put("num",6.4);list.add(map1);list.add(map2);list.add(map3);list.add(map4);list.add(map5);list.add(map6); System.out.println("list:"+list);Map<String,Object> regionMap = new HashMap<>(); for (int i = 0; i < list.size(); i++) {String num = String.valueOf(list.get(i).get("num"));String region = String.valueOf(list.get(i).get("region")).trim();if(!num.contains(".")){list.get(i).put("num","0.0");}String num2 = String.valueOf(list.get(i).get("num"));// 如果regionMap已经存在List中的map,则value值相加;否则将List中的map添加到regionMap中;if(regionMap.containsKey(region)) {String key = region;String value = String.valueOf(regionMap.get(key)); regionMap.put(region, Double.parseDouble(value) + Double.parseDouble(num2));}else {regionMap.put(region, num2);}}System.out.println("regionMap:"+regionMap);}
}
测试输出:
list:[{num=3.3, region=西安}, {num=4.3, region=上海}, {num=5.4, region=北京}, {num=6.4, region=西安}, {num=6.1, region=西安}, {num=6.4, region=北京}]
regionMap:{上海=4.3, 西安=15.799999999999999, 北京=11.8}