【发布时间】:2022-01-16 21:06:51
【问题描述】:
我有一个Map<String, Long>,看起来像这样:
first = {"A": 20,
"B": 50,
"C": 100}
还有一个List<String>
second = {"A","M","B"}.
我需要做的是在第二个 List 中找到具有匹配 String 值的键,并与 Map 中的相应值形成一个 List。所以,我需要得到:
third = 70
因为键“A”和“B”也在列表中,它们的值是 20 和 50。我想用 Streams 实现这一点,到目前为止,我有这个,在那里我找到了匹配符号字符串的列表,但我需要得到值的总和:
List<String> matchingSymbols = first.entrySet()
.stream()
.flatMap(incrementProgression -> second.stream().filter(incrementProgression.getKey()::equals))
.collect(Collectors.toList());
谁能帮帮我?
【问题讨论】:
标签: java java-stream