【发布时间】:2013-03-22 12:06:07
【问题描述】:
我在我的项目中使用 JDK 1.7。我遇到了Huddle。我有一个对象的 ArrayList,它有两个属性:价格(十进制)和产品名称(字符串)。我需要先按价格然后按产品名称对 ArrayList 进行排序。我尝试使用 Java 比较器,但我只能按一个属性排序。 这是我的代码:
private static class PriceComparator implements Comparator<Product>{
@Override
public int compare(Product p1, Product p2) {
return (p1.getPrice() > p2.getPrice() ) ? -1: (p1.getPrice() < p2.getPrice()) ?
1:0 ;
}
}
此代码仅排序价格,而不是名称。
感谢您的帮助和示例。
谢谢 伊什
【问题讨论】:
-
向我们展示您编写的 Comperator...
-
Comparator实际上应该足够了。确保先按价格进行比较,然后按产品名称进行比较。 -
编写一个比较器,比较第一个值,如果这些值相等,则比较第二个值。