java - 如何使用 Java 8 Stream 从 Map 列表中的字符串获取列表?

标签 java java-8 java-stream

我有 HashMap 列表,我正在寻找 UserId 列表。

数据如下:

[
 {UserId=10033, name=Siegmund},
 {UserId=10034, name=Sied},
 {UserId=10035, name=mund}
]

我正在尝试:

List<HashMap<String, Object>> result = 
    (List<HashMap<String, Object>>) resultMap.get("resultList");
result.forEach(mapObj -> {
    System.out.println(mapObj.get("UserId"));
});

但正在寻找更好的解决方案。 谢谢

最佳答案

您可以使用如下方式将所有 name 值提取到单个列表中:

List<HashMap<String, Object>> list = ...;
List<Integer> userIds = list.stream()
                        .map(map -> (Integer) map.get("UserId"))
                        .collect(Collectors.toList());

关于java - 如何使用 Java 8 Stream 从 Map 列表中的字符串获取列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59852810/

相关文章:

java - 无法使用 riak 进行映射缩减

java - 如何在 Spring 事务管理中调用自定义回滚方法?

Java在自定义方法中同时执行3个方法并从run方法中获取值

java - 如何使用队列提供无限流?

java 将值数组映射到奇数值索引

java - 为什么重新启动 eclipse 会提高我的运行时间

java - Spring 批处理错误未显示在我的网页上

java - 连接并行流

java - Java 8 构造函数引用的可怕性能和大堆占用?

Java 流 : distinct() on a pre-sorted stream?