如何创建使用具有使用Java流性质不同的对象列表中不同对象的列表

野:

我有创造一些符合逻辑的一组这样的数据的algorythmic问题:

|-------|--------|
|  id   | ctx_id |
|-------|--------|
|   1   |  1001  |
|   1   |  1002  |
|   1   |  1003  |
|   1   |  1004  |
|   2   |  2001  |
|   2   |  2002  |
|   2   |  2003  |
------------------

这是列表我从数据库中获取,作为List<UsersContexts>包含对象idctx_id我想实现的,是创造这样的实体的两个对象:

private class UserData {
    private long id;
    private List<long> contextList;
}

每个用户都有一个ID,并分配给他的环境。我想实现的是操纵表上面,所以我可以创建两个数据UserData对象时,一个包含id = 1和列表方含1001, 1002, 1003, 1004,以及第二UserData对象,包含id = 2与包含列表2001, 2002, 2003

我怎样才能做到这一点?我尝试使用filter()stream()此的List<UsersContexts>对象,但没有努力...

死侍 :

第一步是收集UsersContextsMap<Integer, List<Integer>>使用Collectors.groupingBy分组通过id然后流式传输的地图和每个条目转换成UserData

    usersContexts.stream()
                 .collect(Collectors.groupingBy(UsersContexts::getId, 
                         Collectors.mapping(UsersContexts::getCxtId, Collectors.toList())))
                 .entrySet()
                 .stream()
                 .map(entry->new UserData(entry.getKey(), entry.getValue()))
                 .collect(Collectors.toList());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建具有不同引用的相同对象的副本?

在Java中,如何检查不同对象的两个数组列表中缺少的元素?

如何使用Java流从一组对象中提取不同整数的排序列表?

如何使用具有不同输出长度的Printf在列中创建输出-Java

如何使用Java中具有不同类的两个对象和具有compare字段的列表进行过滤

通过从列表中删除一个对象(具有重复对象的不同对象)来创建新的非重复列表

如何获得从对象列表的属性中提取的不同对象?

如何使用Java 8中的流API通过同一类的不同对象填充数组列表?

创建不同对象的列表副本

如何使用Java 8流将两个或更多不同对象列表的值设置为一个对象?

如何使用具有不同长度的列表?

不同对象的映射列表

如何在Swift中使用Codable解码具有不同对象的JSON数组?

比较2个具有不同对象的列表Java返回不匹配的列表

比较不同对象但具有相同字段的2个列表

连接不同对象的列表

使用Java 8流将2个不同对象的列表连接到第三个对象的列表

对具有不同对象的数组列表进行排序

如何在python中打印不同对象的列表?

如何从两个不同对象列表中获取不常见对象

比较不同对象的列表并使用Stream在java8中构建新的对象列表

如何从json创建具有不同对象类型的列表

使用类的相同对象,但具有不同的成员

使用对象列表创建不同的进程

如何使用具有不同字体大小的列表项创建 DropDownlist(用于 jquery 的 Kendo UI)

如何将具有唯一字段的两个不同对象列表合并到一个单独的列表中?

如何使用 Codable 解析不同对象列表的 Json 数组?

如何对具有不同对象的数组中的所有值使用 .some()

使用 Java 8 Stream API 将 2 个不同对象的列表组合成单个对象的列表