gpt4 book ai didi

java - 在这种情况下如何获得 pojo 的并集

转载 作者:行者123 更新时间:2023-12-02 09:14:32 24 4
gpt4 key购买 nike

我有以下 POJOS:

public class ApplicationVersionsData{
private List<MajorVersion> majorVersions;
}
public class MajorVersion{
private List<Revision> revisions;
}
public class Revision{
private List<Role> roles;
}
public class Role{
private String roleName;
private List<String> scopes;
}
one application may has many major versions.  (v1,v2,v3)
one major version has many revisions. (v1 may have 1.0.0,1.1.0,1.1.1)
one revision has many Roles.(role1,role2,role3)

如果我想获取除特定修订版之外的所有角色名称,获得的最佳方式是什么??

请帮忙。

最佳答案

这应该有效:

majorVersions
.stream()
.flatMap(mv -> mv.revisions())
.filter(this::isNotParticularRevision)
.flatMap(revision -> revision.roles())
.map(role -> role.roleName()).collect(Collectors.toList());

isNotPspecialRevision(Revision revision) 根据传递给它的修订版本是否是您要排除的版本,返回 boolean true/false。您需要为类 Revision 编写一个 .equals() 方法。

编辑:正如下面的评论之一所述,它应该是 mv.revisions().stream()revision.roles().stream() .

关于java - 在这种情况下如何获得 pojo 的并集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59105654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com