首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将pojos列表合并到可在键上组合的整数映射中

将pojos列表合并到可在键上组合的整数映射中
EN

Stack Overflow用户
提问于 2019-11-22 01:46:45
回答 1查看 48关注 0票数 1

我正在尝试将以下逻辑流程化:

我有一个从Integer ids到整数计数的映射。我有一个代表ids的Pojos列表。我想合并两者,并有一个pojos到整数计数的映射。

目前我有:

代码语言:javascript
复制
  return EntryStream.of(idToCountMapping)
      .mapKeys(k -> StreamEx.of(pojos).findFirst(s -> s.getId().equals(k)))
      .filterKeys(Optional::isPresent)
      .mapKeys(Optional::get)
      .mapKeyValue(SuperCoolNewPojo::new)
      .toList(); 

第一个mapKeys()调用给我的印象可能是用不同的方式表达得更好。

任何帮助都是最好的!

谢谢,安东尼

EN

回答 1

Stack Overflow用户

发布于 2019-11-22 10:39:02

虽然我不能回答基于streamex的完整性,但从我可以推断和概念化的使用流的方法:

可以将集合pojos转换为Map,如下所示:

代码语言:javascript
复制
Map<String, POJO> idToPojoMap = pojos.stream()
                                     .collect(Collectors.toMap(Pojo::getId, 
                                                   Function.identity(), (a,b) -> a);

此外,它在代码中的使用变得更简单,如下所示:

代码语言:javascript
复制
return EntryStream.of(idToCountMapping)
      .filterKeys(k -> idToPojoMap.keySet().contains(k)) // only if part of the created map
      .mapKeyValue(SuperCoolNewPojo::new)
      .toList(); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58980866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档