【发布时间】:2023-03-17 00:49:01
【问题描述】:
假设我有一个名为 Product 的类,字段为 price 和 weight。
我的最终目标是列出可以按价格或重量排序的产品
我知道我可以制作Product implements Comparable<Product>。这意味着我将不得不,例如:
@Override
public int compareTo(Product compareProduct) {
int comparePrice = ((Product) compareProduct).getPrice();
//ascending order
return this.price - comparePrice;
}
此代码只会按价格进行比较,所以,简而言之,问题是如何选择我想使用的比较方法? (按价格或按重量)
【问题讨论】:
-
按价格或重量排序是什么意思?你想按价格排序,同等价格按重量排序吗?
-
我只想:A) 获取按价格排序的所有产品的列表 B) 获取按重量排序的所有产品。现在清楚了吗?顺便说一句,感谢您的关注
-
ow can I choose the compare method I want to use?使用自定义Comparator -
为什么不能使用
Comparator.comparingInt(Product::getPrice)和Comparator.comparingInt(Product::getWeight)?您需要两个不同的比较器才能比较两个不同的字段。 -
@copeg 你能说得更清楚些吗?
标签: java list sorting collections compare