调用Collections.sort()方法,来对集合中的商品进行排序(先按类型升序,如果类型相同再按单价降序)
时间: 2023-08-18 20:58:47 浏览: 173
详解java Collections.sort的两种用法
可以使用`Collections.sort()`方法来对集合中的商品进行排序。首先,你需要确保商品类实现了`Comparable`接口,并重写了`compareTo()`方法来定义商品的比较规则。
假设你的商品类名为`Product`,有两个属性:`type`(类型)和`price`(单价)。你可以按照以下步骤进行排序:
1. 在`Product`类中实现`Comparable`接口:
```java
public class Product implements Comparable<Product> {
private String type;
private double price;
// 构造函数、getter和setter方法省略
@Override
public int compareTo(Product other) {
// 先按类型升序排序
int typeComparison = this.type.compareTo(other.type);
if (typeComparison != 0) {
return typeComparison;
}
// 如果类型相同,再按单价降序排序
return Double.compare(other.price, this.price);
}
}
```
2. 创建一个包含`Product`对象的集合,并调用`Collections.sort()`方法进行排序:
```java
List<Product> products = new ArrayList<>();
// 添加商品到集合中
Collections.sort(products);
```
现在,`products`集合中的商品将按照类型升序排序,如果类型相同则按照单价降序排序。
阅读全文