У меня есть этот список LinkedHashMap, как можно заказать его значение?Список заказа LinkedHashMap
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());
}
}
и:
Collections.sort(list, new OrderComparator(sortColumn));
Верно? Спасибо всем!!!
Прости меня за то, педантичный, но ради нашей профессии и хорошего стиля и документации, вы должны переименовать файл 'OrderComparable' класс в 'OrderComparator', так как класс не реализует« сравнимый »объект, а компаратор. – amn
ты прав, это мое отвлечение сначала было Сопоставимым, но это не сработало, и я сделал этот компаратор, спасибо. – Doom