gpt4 book ai didi

java - 使用基于键列表的流过滤器映射

转载 作者:搜寻专家 更新时间:2023-11-01 01:48:49 25 4
gpt4 key购买 nike

我有一个特殊的问题,想知道 Java 8 Streams API 是否可以解决它。我知道这可以在使用 Streams API 之外完成,但如果可以使用 Streams 完成,我不想添加与尝试实现该目标相关的所有样板代码。我有一张 map

Map<String, String> greetings = new HashMap<>();
greetings.put("abc", "Hello");
greetings.put("def", "Goodbye");
greetings.put("ghi", "Ciao");
greetings.put("xyz", "Bonsoir");

和键列表:

List<String> keys = Arrays.asList("def", "zxy");

并将以上内容与 Streams API 结合使用,是否可以将其过滤为:

Map<String, String> filteredGreetings = new HashMap<>();
filteredGreetings.put("def", "Goodbye");
filteredGreetings.put("xyz", "Bonsoir");

希望这能理解我正在努力实现的目标。

到目前为止,我只有在指定要在其上过滤 map 的 keySet 的确切键时才能使它起作用,但是这只会返回一个条目集。我对完全过滤的 map 很感兴趣,我正在努力实现这一目标。

最佳答案

如果问题is not a typo中的输入和预期输出,您还可以将输入映射的键保留为:

Map<String, String> futureGreetings = new HashMap<>(greetings);
futureGreetings.keySet().retainAll(keys);

关于java - 使用基于键列表的流过滤器映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602270/

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