【问题标题】:How to get values from a Map with a list of keys using Java8 streams如何使用 Java8 流从带有键列表的 Map 中获取值
【发布时间】:2019-04-08 15:54:45
【问题描述】:

我有一个映射“M”和一个列表“L”,现在我想使用“L”中可用的键列表从该映射“M”中获取值。我想使用 java 8 Stream 概念,任何人都可以帮助解决这个问题。

我编写了打印这些值的代码,但我需要将值放入列表中

list.stream().forEach(s->{System.out.println(map.get(s));});

【问题讨论】:

  • 你必须在最后做 collect(Collectors.toList())
  • 我试过了..它显示语法错误
  • 然后显示你尝试了什么以及你遇到了什么错误。

标签: java java-8


【解决方案1】:

mapList中的每个元素对应Map中的值并收集到List

List<String> values =
    list.stream()
        .map(map::get)
        .collect(Collectors.toList());

您可能需要考虑消除null 值(这是由Map 中不存在的键导致的)。

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 2020-05-07
    • 2023-03-23
    • 2018-11-03
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    相关资源
    最近更新 更多