小编Bru*_*uce的帖子

Java流排序2变量升序/取消发送

我想排序seq1升序和seq2降序所以我这样做:

list = list.stream().sorted(comparing(AClass::getSeq1).thenComparing(        
   AClass::getSeq2).reversed()).collect(toList());
Run Code Online (Sandbox Code Playgroud)

但结果出来了,因为seq1和seq2都按降序排序.

我可以这样做以使seq1升序和seq2降序:

sorted(comparing(AClass::getSeq1)
   .reversed().thenComparing(AClass::getSeq2).reversed()
Run Code Online (Sandbox Code Playgroud)

这是真正的正确方法吗?

java sorting comparator java-8 java-stream

18
推荐指数
1
解决办法
1万
查看次数

使用Java流API来汇总SQL GROUP BY之类的数据

使用SQL我可以写这个来汇总数据:

SELECT sum(f1), sum(f2), f3, f4 FROM TABLEX GROUP BY f3, f4
Run Code Online (Sandbox Code Playgroud)

这将返回一个列表,每行包含4个值:sum1,sum2,v3,v4

例如:这是表中的内容:

1, 2, a, b
1, 2, a, b
2, 2, c, d
2, 2, c, d
3, 4, c, d
Run Code Online (Sandbox Code Playgroud)

结果将是:

2, 4, a, b
7, 8, c, d
Run Code Online (Sandbox Code Playgroud)

现在假设我没有数据库表,而是在具有变量f1,f2,f3,f4的Java对象列表中有数据.Java流API中是否有一个函数可以根据f3,f4汇总这个列表?

java sum java-stream

7
推荐指数
1
解决办法
2077
查看次数

标签 统计

java ×2

java-stream ×2

comparator ×1

java-8 ×1

sorting ×1

sum ×1