Springboot中如何对一个[{itemid:1,rating:0.9},{itemid:2,rating:0.8},{itemid:3,rating:0.5}]数组中的rating进行排序
时间: 2023-11-22 13:54:46 浏览: 28
你可以使用Java 8中的Stream API和Comparator来对数组中的rating进行排序。具体的代码如下所示:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class RatingSorter {
public static void main(String[] args) {
List<Item> items = Arrays.asList(
new Item(1, 0.9),
new Item(2, 0.8),
new Item(3, 0.5)
);
List<Item> sortedItems = items.stream()
.sorted(Comparator.comparing(Item::getRating).reversed())
.collect(Collectors.toList());
System.out.println(sortedItems);
}
}
class Item {
private int itemId;
private double rating;
public Item(int itemId, double rating) {
this.itemId = itemId;
this.rating = rating;
}
public int getItemId() {
return itemId;
}
public double getRating() {
return rating;
}
@Override
public String toString() {
return "Item{" +
"itemId=" + itemId +
", rating=" + rating +
'}';
}
}
```
在这个例子中,我们首先将数组转换为一个列表。然后,我们使用Java 8中的Stream API对列表中的元素进行排序。我们使用Comparator.comparing()方法创建一个比较器,该比较器返回每个Item对象的rating属性。reversed()方法用于按降序排序。最后,我们使用Collectors.toList()方法将排序后的列表收集到另一个列表中。