我有一个4列表,我想按排名对每列进行排序。我创建了一个类如下:
public static class Fruit {
String name;
int price;
int number;
String location;
public Fruit(String a, int b, int c, String d) {
name = a;
price = b;
number = c;
location = d;
}}
我想按排名对每列进行排序,这意味着我可以先按名称排序,然后按同名行中的价格排序。另外,我想要对每列进行排序,不仅从小到大,而且按逆序排序。
我使用Collection.sort(a, new Comparator())
和Collections.sort(a, Collections.reverseOrder(new Comparator()))
我在课程a.name.compareTo(b.name)
中使用Comparator()
,但是,使用Collection.sort()
,它只能按照UIWebViewDelegate
对所有列进行排序相同的顺序,这意味着我无法将第一列从小到大排序,然后将第二列从大到小排序。
有人可以帮帮我吗?
答案 0 :(得分:0)
如果您想按名称递增和降价排序水果列表:
List<Fruit> list = new ArrayList<>();
// add fruits to list
Collections.sort(list, new Comparator<Fruit>() {
@Override
public int compare(Fruit o1, Fruit o2) {
int r = o1.name.compareTo(o2.name);
if (r != 0) return r;
return o2.price - o1.price;
}
});