java - 通过某个键将 <Long, List<String>> 映射到字符串 Lambda 列表

标签 java lambda java-8

我有一个HashMap喜欢 Map<Long, List<String>> map = ....

我还有一个 key 列表,例如 List<Long> keyList = Arrays.asList(1L, 3L, 10L);

我想提取 List<String>通过这些keyList's并生成一个List<String>使用 lambda 表达式。

最佳答案

试试这个:

List<String> values = keyList.stream()    // for each key
    .map(map::get)                        // convert keys to their values
    .flatMap(List::stream)                // stream the lists as one stream
    .collect(Collectors.toList());        // as a single list of String

关于java - 通过某个键将 <Long, List<String>> 映射到字符串 Lambda 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47741263/

相关文章:

java - 使用 Dropbox Java api : DropboxSSLException: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

java - Java 中与 (&&) 关系的映射

c# - 如何使用带有动态查询的 LINQ 定义 SELECT TOP?

java - 接口(interface)的默认方法存储在内存中的什么位置?

java - 当它也是默认的网络应用程序时,如何在网络应用程序的 context.xml 中设置上下文变量?

java - 寻找令人惊讶的并发 Java 程序

.net - Lambda 表达式导致弱引用的目标不能成为 GC?

python - Python 中的函数对象

intellij-idea - IntelliJ : cannot find java. util.Optional

java - 如何制作一个无法实现的接口(interface)?