gpt4 book ai didi

Java 8 流 API :How to handle null value in Map

转载 作者:行者123 更新时间:2023-12-05 09:11:54 27 4
gpt4 key购买 nike

我有一个 Map 类型的数组列表。我想从列表中过滤掉空值并找到最大值和最小值。除了空值外,该程序运行良好。

ArrayList<Map<String, Float>> elements = new ArrayList<Map<String, Float>>();
Map<String, Float> element = new HashMap<String, Float>();
element.put("a", (float) 1.22);
element.put("b", (float) 1.33);
element.put("c", (float) 1.52);
element.put("d", (float) 1.452);
element.put("e", (float) 1.452);

Map<String, Float> element2 = new HashMap<String, Float>();
element2.put("a", (float) 1.2332);
element2.put("b", (float) 1.242);
element2.put("c", (float) 1.552);
element2.put("d", (float) 15.33);
element2.put("e",null);

elements.add(element);
elements.add(element1);
elements.add(element2);

System.out.println("Initial Mappings are: " + elements);
Map<String, Float> min = elements.stream()
.flatMap(m -> m.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, Math::min));

System.out.println(min);

最佳答案

向链中添加过滤器。

Map<String, Float> min = elements.stream()
.flatMap(m -> m.entrySet().stream())
.filter(entry -> entry.getValue() != null)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, Math::min));

关于Java 8 流 API :How to handle null value in Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59463685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com