当前位置: 首页 > 知识库问答 >
问题:

在java 8中,如何在groupingBy之后仅从对象中提取ID

尚恩
2023-03-14
public class Element {

    private Long id;

    private String groupType;

}

我有元素列表。列出不同的组类型,如“group1”、“group2”{1, group1}、{2, group1}、{3, group2}{4, group2}

我想为每个组创建两个不同的列表,但带有id(Map

以下代码适用于Map

Map<String, List<Element>> elementByGroup = new HashMap<>();
        elementByGroup = element.stream().collect(
                Collectors.groupingBy(Element::getGroupType));

如何以地图的形式收集结果

共有1个答案

尚阳炎
2023-03-14

您需要使用收集器。mapping()。看起来是这样的

Map<String, List<Long>> idsByGroupType = 
  elements.stream().collect(
    Collectors.groupingBy(Element::getGroupType,
      Collectors.mapping(Element::getId, Collectors.toList())));
 类似资料:
  • 我有一个对象列表(文件夹)。该列表中的每个对象A都有一个对象B(合作伙伴)列表,对象B也有一个对象C(人员)列表。对象C包含一个属性代码,我想用它来使用Java8进行过滤。 我试过下面的代码,但它似乎不工作: 你们知道我如何使用FlatMap从

  • 下面是演示类 我有一个演示实例: 对于新的,我需要从Demo了解字段,因为我需要一种通用的方法来获得任何具有基本字段/简单字段的类的对象数组

  • 我有两个Coll对象流,我想在实例变量say的基础上找到公共对象。我需要使用Java8流来实现这一点。此外,我需要更新变量,比如说公共元素的乘数为1000。 } 我在写一些东西,比如: 我在这个方法上做错了!!我猜Java8不支持像equals那样带有参数的方法!! 我收到一个编译错误:

  • 我使用ion2日历创建一个多日期选择器。这里我使用onSelect事件发射器。 在这里,当我打印“$event”时,控制台输出如下所示: 如何以“DD-MMMM-YYYY”格式仅从该时刻对象提取日期?