在Java流上执行中间排序的group-by操作

时间:2015-06-24 14:56:16

标签: java java-8 java-stream collectors

我有一个像这样的元组对象的Java Stream

{ 1, 2 }
{ 1, 6 }
{ 2, 3 }
{ 3, 10 }
{ 3, 12 }
{ 3, 20 }

这些元组保证按其第一个元素排序。我想将此流转换为另一个元组流,如下所示:

{ 1, [2, 6] }
{ 2, [3] }
{ 3, [10, 12, 20] }

但是,这是关键,我希望这是一个中间操作 - 我不需要评估整个第一个流来输出每个组,因为元组已按要求订购。我想要的是像中间收集器,但我无法在流API中找到一种方法。

任何人都可以想到这样做而不需要迭代整个流吗?

0 个答案:

没有答案