前言:
而今兄弟们对“java判断map的value是否为空”大约比较注重,小伙伴们都想要分析一些“java判断map的value是否为空”的相关知识。那么小编在网摘上网罗了一些关于“java判断map的value是否为空””的相关知识,希望兄弟们能喜欢,看官们快快来了解一下吧!computeIfAbsent(K key, Function remappingFunction):如果map中的key对应的value为null,则重新将计算后的值放入到Map中。
案例一
新建一个Map,此Map集合初始化的时候没有放入任何的键值对,当调用方法后存入对应的值即可。
Map<String, String> map = new HashMap<>();map.computeIfAbsent("id", k->"123456");System.out.println(map);输出:{id=123456}案例二
相比大家在实际场景中,碰到map中的value是List数组,这个时候computeIfAbsent就体现出其作用了。
public class ComputeIfAbsentTest { public static void main(String[] args) { Map<String, List<String>> map = new HashMap<>(16); List<String> list = new ArrayList<>(); for (int i = 0; i < 5; i++) { list.add("id:" + i); } for (String s : list) { List<String> value = map.get(s); if (value == null){ value = new ArrayList<>(); } value.add(s); map.put(s, value); } System.out.println(map); }}输出:{id:0=[id:0], id:2=[id:2], id:1=[id:1], id:4=[id:4], id:3=[id:3]}
下面将上面代码修改一下,一句话就能替代上面的map的判断赋值
public class ComputeIfAbsentTest { public static void main(String[] args) { Map<String, List<String>> map = new HashMap<>(16); List<String> list = new ArrayList<>(); for (int i = 0; i < 5; i++) { list.add("id:" + i); } for (String s : list) { map.computeIfAbsent(s, k -> new ArrayList<>()).add(s); } System.out.println(map); }}输出:{id:0=[id:0], id:2=[id:2], id:1=[id:1], id:4=[id:4], id:3=[id:3]}案例三
当map集合中key对应的值不为空时,则后面的函数式计算不做处理。
Map<String, String> map = new HashMap<>();map.put("1","1");map.computeIfAbsent("1", k->"1111");System.out.println(map);输出:{1=1}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java判断map的value是否为空