我有一个LinkedHashMap列表,如何按值排序?
例如,我的列表中有以下内容:
根据“field1”键的值排序,例如:
我已经创建了这个类:
List<LinkedHashMap<String, Object>> list = more "key:value"......
例如,我的列表中有以下内容:
[{"field1": "z", "field2":"a"},
{"field1" : "b", "field2":"x"}]
根据“field1”键的值排序,例如:
[{"field1": "b", "field2":"x"},
{"field1" : "z", "field2":"a"}]
我已经创建了这个类:
public class OrderComparator implements Comparator {
String field;
public OrderComparator (String field){
this.field = field;
}
@Override
public int compare(Object obj1, Object obj2) {
LinkedHashMap<String, Object> a = (LinkedHashMap<String, Object>) obj1;
LinkedHashMap<String, Object> b = (LinkedHashMap<String, Object>) obj2;
return a.get(this.field).toString().compareTo(b.get(this.field).toString());
}
}
and :
Collections.sort(list, new OrderComparator(sortColumn));
是正确的吗?感谢所有人!!!
(保留HTML,不解释)
OrderComparable
类重命名为OrderComparator
,因为该类并没有实现一个“可比较”的对象,而是一个比较器。 - Armen Michaeli