Stream.max() 对流中的一组元素

问题描述 投票:0回答:1

我有一个

List
的java
CodeObj
CodeObj
有2个属性:
codeName
version
。 当映射到
List
对象时,我的 java
JSON
看起来像这样:

[
    { "codeName": "test1", "version": "1" },

    { "codeName": "test1", "version": "2" },

    { "codeName": "test1", "version": "3" },

    { "codeName": "test2", "version": "1" },

    { "codeName": "test2", "version": "2" },

    { "codeName": "test2", "version": "3" },

    { "codeName": "test2", "version": "4" },
]

我想在java中按每个最近的

List
过滤这个
codeName
,所以当映射到JSON对象时它会给出这个结果:
version

为了做到这一点,我必须使用 
[ { "codeName": "test1", "version": "3" }, { "codeName": "test2", "version": "4" }, ]

java 类及其方法,如

Stream
filter
map
等。
我从这段代码开始:

max

我觉得我必须隔离每组具有相同
codeObjs.stream() .max(Comparator.comparing(CodeObj::getVersion))

CodeObj
,但我不知道如何在将
codeName
变成
List
时做到这一点。
    

java lambda stream max
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.