Springboot中如何对一个[{itemid:1,rating:0.9},{itemid:2,rating:0.8},{itemid:3,rating:0.5}]数组中的rating进行排序
时间: 2023-11-22 13:54:49 浏览: 174
你可以使用Java 8的Stream API对数组中的rating进行排序,具体代码如下:
```java
List<Map<String, Double>> itemList = new ArrayList<>();
itemList.add(new HashMap<String, Double>() {{
put("itemid", 1.0);
put("rating", 0.9);
}});
itemList.add(new HashMap<String, Double>() {{
put("itemid", 2.0);
put("rating", 0.8);
}});
itemList.add(new HashMap<String, Double>() {{
put("itemid", 3.0);
put("rating", 0.5);
}});
List<Map<String, Double>> sortedItemList = itemList.stream()
.sorted(Comparator.comparingDouble(item -> -item.get("rating")))
.collect(Collectors.toList());
System.out.println(sortedItemList);
```
输出结果为:
```
[{itemid=1.0, rating=0.9}, {itemid=2.0, rating=0.8}, {itemid=3.0, rating=0.5}]
```
其中,`Comparator.comparingDouble(item -> -item.get("rating"))`表示按照rating降序排序,`-item.get("rating")`表示取负数是为了让rating降序排列。
阅读全文