Springboot中如何对一个[{itemid:1,rating:0.9},{itemid:2,rating:0.8},{itemid:3,rating:0.5}]数组中的rating进行排序,并保留前rating值最大的10个其中rating是BigDecimal类型
时间: 2023-11-27 19:53:40 浏览: 45
枚举OPC server端itemID的方法
可以使用Java 8的流式API和Comparator对数组进行排序并保留前10个。
首先,将数组转换为流,然后使用sorted方法对流进行排序,使用reversed方法将排序顺序反转(从高到低),最后使用limit方法保留前10个元素。代码示例如下:
```
Arrays.stream(array)
.sorted(Comparator.comparing(item -> item.getRating()).reversed())
.limit(10)
.forEach(item -> System.out.println(item));
```
其中,`array`是包含`{itemid:1,rating:0.9},{itemid:2,rating:0.8},{itemid:3,rating:0.5}`的数组,`item.getRating()`是获取rating属性的方法。
这段代码将按照rating值从高到低排序,并输出前10个元素。你可以将System.out.println(item)替换为其他操作,比如将排序后的结果存储到另一个数组中。
阅读全文