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

从流[重复]中获取子列表的流

华凡
2023-03-14

我有一个SeniorEmployee类,它有一些属性,在这个属性下我有JuniorEmployee列表。现在我的标准是在SeniorEmployee中通过流和基于一些标准进行迭代,然后对于与筛选标准匹配的SeniorEmployee,我们需要在juniorEmployee列表中进行迭代,并计算他们的总薪资。那么,我如何通过流在单个lambda表达式中实现它呢?请帮帮忙。

如果EmpCode为10,则SeniorEmployee id筛选标准为;

    SeniorEmployee{
    empCode;
    List<JuniorEmployee> junEmpList
    }

    JuniorEmployee{
     Emp Id;
    Salary;
}

共有1个答案

周培
2023-03-14
seniors.stream().filter(x -> YOUR_SENIOR_CONDITION).mapToInt(x -> x.junEmpList.stream().mapToInt(y -> y.salary).sum()).sum()

或者根据您的建议,尝试以下操作:

seniors.stream().filter(x -> YOUR_SENIOR_CONDITION).flatMap(z -> z.junEmpList.stream()).mapToInt(o -> o.salary).sum();
 类似资料:
  • 我有一个名为的表和一个名为的表。它们通过作为pivot具有多对多的关系。透视表具有和 所以每个表单可以有很多类别,每个类别可以附加到很多表单上。 我需要以某种方式汇总这些数据。我需要的是一个逗号分隔的类别ID的列表在一列中为每个表单。 像这样: 做这件事的有效方法是什么?

  • 我有以下数据: 获取密钥列表的最佳方法是什么(好像它是一个dict而不是一个数组)?目前我正在做: 但这感觉有点老土

  • 我想用Java8lambda表达式在java列表中找到max值,所以,我有一个类叫TicketMaster,项表是TicketMasterLog,在TicketMasterLog类中我有StatusMaster类的statusId引用列,所以这里我想在TicketMasterLog列表中找到max statusId,下面我给出我的代码请参考 而TicketMasterItem表是 因此,在列表中,

  • 我怎样才能得到这3家酒店的名单,以便我可以对他们进行操作?我唯一想到的是通过和获得最低价格,然后查询列表中有最低价格的商品,但这听起来不太好。

  • 我试图在玩家发牌后从套牌中拿走一张牌,这样那些牌就不会再发牌了。 但这是我的命令错误:

  • 问题内容: 我有一个视图t,其中有一个用于表名的列,另一个具有where子句条件的列。 等等… 现在,我将记录放在游标中,并且我想运行每个查询。 myTable是另一个表,我要将记录用于下一个目的。 问题答案: @Akshay, 请找到下面的代码以供参考。