[英]How to sort a TreeList with a different comparator for each column in a NatTable
[英]How to sort each column by different order?
我有一个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()))
并且在Comparator()
类中使用a.name.compareTo(b.name)
Comparator()
,但是,通过使用Collection.sort()
,它只能按相同顺序对所有列进行排序,这意味着我无法将第一列从小到大排序,然后将第二列从大到小排序。
有人可以帮我吗?
如果要按名称升序和价格降序对水果订单列表进行排序:
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;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.