小编Spi*_*lle的帖子

Java 8:在Stream上执行reduce操作

我有一个包含键值对的java.util.stream.Stream,如:

<1,3> <1,5> <3,1> <4,2> <4,7> <4,8>
Run Code Online (Sandbox Code Playgroud)

现在我想合并所有具有相同密钥的条目:

<1,[3,5]>  <3,[1]> <4,[2,7,8]>
Run Code Online (Sandbox Code Playgroud)

数据已经排序,因此只需要合并连续的数据集.

现在我正在寻找一种方法来像上面那样转换流的内容,而不是将所有数据集加载到内存中.

我更喜欢使用包含值列表而不是单个值的不同对象类型来获取java.util.stream.Stream作为结果.

我唯一的方法是执行合并的自定义迭代器,但转换为迭代器并返回流似乎非常难看.

它的最佳方法是什么?

java reduce java-8 java-stream

5
推荐指数
1
解决办法
151
查看次数

与 JSE JavaDoc 相比,可能存在哪些类层次结构差异?

我目前正在 Maven 后编译任务中生成一些 ASM 代码。在Java 6中引入了StackMapTable来表示堆栈上的数据类型,这在以后的版本中是强制性的。因此,我会自动确定堆栈中可以包含的最具体的类。现在我遇到了一个问题,在我的VM中ThaiBuddhistDate和HijrahDate继承自ChronoLocalDateImpl,因此它会在StackMapTable中创建这种类型,这显然会在其他VM(甚至可能是版本)中崩溃。所以我想,也许我应该将计算更改为最小强制,这可能会导致(理论上)类和接口出现类似的问题。现在我正在尝试为我的问题找到解决方案,因此我必须弄清楚可能会出现哪些差异。

附加类只能出现在继承层次结构中的任何地方吗?假设 JavaDoc 具有如下继承层次结构:

对象 - Foo - 栏 - FooBar

我可以在继承结构中随处添加额外的类吗?

对象 - Baz - Foo - Bar - FooBar

对象 - Foo - Baz - 酒吧 - FooBar

对象 - Foo - 酒吧 - Baz - FooBar

类似地,对于接口:接口是否也可以从文档中未定义的其他接口继承,或者类是否可以“仅”具有附加的独立接口或基于定义的接口或什至没有接口?

java jvm specifications hierarchy

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

标签 统计

java ×2

hierarchy ×1

java-8 ×1

java-stream ×1

jvm ×1

reduce ×1

specifications ×1