我尝试使用stream.reduce.java来访问下一行并与java arraylist对象中的当前行进行比较。

问题描述 投票:0回答:1
我正在尝试比较和打印getprice()每行中的唯一值,如下所示:

List<Model> results = lists.stream() .reduce((c1,c2) -> c1.getprice() != c2.getprice()? c1:c2) .collect(Collectors.toList()); //The Object is like this: object[{type:1,price:20}, {type:2,price:30} {type:3,price:30} {type:4,price:60} ]; //OUTPUT expected after reducing the duplicate value of price //object[{type:1,price:20},{type:2,price:30},{type:4,price:60} ];

我正在尝试比较并打印来自arraylist的每一行的唯一值,即getprice。

//对象是这样的:

object[{type:1,price:20}, {type:2,price:30} {type:3,price:30} {type:4,price:60} ];

减少重复价格后的预期输出

对象[{type:1,price:20},{type:2,price:30},{type:4,price:60}];

我正在尝试比较和打印getprice()的每一行中的唯一值,如下所示:List

results = lists.stream().reduce((c1,c2)-> c1.getprice()! = c2.getprice()?...

java
1个回答
0
投票
因为您显然想使用Java 8StreamAPI,所以一种解决方案可能是将列表按price分组,然后用Collection过滤返回的值List.size() >= 1,因为我假设每种类型都应该有价格,如果不是我们不能忽略它。
© www.soinside.com 2019 - 2024. All rights reserved.