要对一个包含多个字段的List
以下是一个示例代码,演示如何对一个包含多个字段的List
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个包含多个字段的List<Map>
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("field1", "A");
map1.put("field2", 10);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("field1", "B");
map2.put("field2", 20);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("field1", "C");
map3.put("field2", 15);
list.add(map3);
// 定义一个Comparator,按照指定的字段进行降序排序
Comparator<Map<String, Object>> comparator = new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
int result = o2.get("field1").compareTo(o1.get("field1"));
if (result == 0) {
result = o2.get("field2").compareTo(o1.get("field2"));
}
return result;
}
};
// 对List<Map>进行降序排序
Collections.sort(list, comparator);
// 打印排序后的结果
for (Map<String, Object> map : list) {
System.out.println(map);
}
}
}
在这个示例中,我们首先创建了一个包含多个字段的List