Java:如何流一个多对一列表(与flatMap?)

2022-01-29 23:21:03 标签 javastream

我需要流一个多对一的列表。我想我需要一个平面地图,但我不能使它运行。我有以下对象:

UserRoles:

@Data
@AllArgsConstructor
public class UserRoles {
  private int userId;
  private Integer projectId;    
  private List<Integer> userRoles;
}

UserProjectRole:

public class UserProjectRole {    
  @EmbeddedId private UserProjectRolePk id;
  private User user;
  private Project project;
  private UserRole userRole;
}

给定一个UserRoles列表,我需要创建一个新的UserProjectRole列表。到目前为止,我有:

List<UserProjectRole> projectRoles = userRolesDtos.stream()
             .map(it -> Stream.of(it.getUserRoles())
                     .flatMap(x -> new UserProjectRole(it.getUserId(), it.getProjectId(), x)))
             .collect(Collectors.toList());

但x是一个List<Integer>当我期望它只是角色id的时候。谁能帮忙吗?

# # #Stream.of() creat从varargs数组创建一个流。当你传递一个列表时,它会创建一个包含一个列表元素的流。

尝试从列表中获取流。此外,flatMap()只适用于流结果(查看order和花括号)。

List<UserProjectRole> projectRoles = userRolesDtos.stream()
    // stream of UserProjectRole
    .flatMap(it -> it.getUserRoles().stream()
        // intermediate stream of Integer
        .map(x -> new UserProjectRole(it.getUserId(), it.getProjectId(), x)
        // mapped to intermediate stream of UserProjectRole
    )
    // finished call to flatMap returning a flat stream of UserProjectRole
    .collect(Collectors.toList());
阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
swift - Mac的深色
Sveltekit加载新页面和传递数据按钮点击
考虑到下面的代码片段,如何从某个索引中反转LinkedList
求圆弧中心和末端的坐标
为什么::before在Next.js中没有应用?
amazon web服务如何使用SecureString SSM参数存储来创建EC2实例?
基于STDIN - JavaScript的stdout -函数参数结构?挑战描述:在一个花园中,有一些被随机分配的避难所和自由玩耍的孩子。突然,第一次雨滴开始落在另一个下。要把孩子藏起来,每个人都要搬到离他最近的地方。你的任务就是帮助每个孩子找到相应的避难所。为了简化这个问题,我们把庇护所和儿童等同于点,我们也认为庇护所的能力是无限的。每个孩子和每个庇护所都有三个参数:唯一标识符输入规格:该代码将对几个测试用例执行。每个测试描述如下:第一行包含一个整数B在1到100之间,表示避难所的数量。B线遵循每一个包
在WinInet应用程序中从边缘抓取cookie
如果我们将同一模型的层展开或缩小,我们还能在Pytorch中从预训练的模型中进行训练吗?
我已经设计了一个spline high图表jsunk(https://jsfiddle。net/s9qwj1h3/),我需要帮助以下2点: x轴日期值计数应该是12,而不考虑数据。如果我得到1年数据,x轴的3或5年数据计数应该是12。我尝试了筹码和筹码,但无法解决我的问题。 数据绘制应该从颜色图带开始。数据绘图不应该在颜色的plotband上。它应该在颜色的波谱下绘制。
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码