gpt4 book ai didi

java - JAVA 中用于嵌套条件的 Lambda 表达式

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:41 27 4
gpt4 key购买 nike

我有以下 map :

HashMap<String, String> map1= new HashMap<String, String>();
map1.put("1", "One");
map1.put("2", "Two");
map1.put("3", "Three");

我有一个 numbers 列表,其中包含 ["1","2","3"]

我必须执行以下操作:

List<String> spelling= new ArrayList<>();
for (String num: numbers) {
if (map1.containsKey(num)){
spelling.add(map1.get(num))
}
}

如何使用 lambda 表达式编写上述代码?

最佳答案

使用:

List<String> spelling = numbers.stream()
.map(map1::get)
.filter(Objects::nonNull)
.collect(Collectors.toList());
System.out.println (spelling);

请注意,我没有使用 containsKey 检查键是否在映射中,而是使用 get,然后过滤掉 null

输出:

[One, Two, Three]

关于java - JAVA 中用于嵌套条件的 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48048614/

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