List<Map<>>排序
时间: 2023-10-24 13:04:54 浏览: 98
你可以使用Java的Collections工具类中的sort方法来对List<Map<>>进行排序。首先,你需要实现一个Comparator接口,用于定义Map的比较规则。然后,使用Collections的sort方法,并传入你实现的Comparator对象作为参数,就可以对List<Map<>>进行排序了。
以下是一个示例代码,演示如何对List<Map<>>按照Map中的某个键值进行排序:
```java
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
public class MapSortExample {
public static void main(String[] args) {
List<Map<String, Integer>> list = getList(); // 假设你已经有一个List<Map<String, Integer>>对象
// 对List<Map<>>进行排序
Collections.sort(list, new Comparator<Map<String, Integer>>() {
@Override
public int compare(Map<String, Integer> map1, Map<String, Integer> map2) {
// 这里假设你要按照Map中的键 "key" 进行升序排序
Integer key1 = map1.get("key");
Integer key2 = map2.get("key");
return key1.compareTo(key2);
}
});
// 输出排序后的结果
for (Map<String, Integer> map : list) {
System.out.println(map);
}
}
// 获取一个示例的List<Map<>>
private static List<Map<String, Integer>> getList() {
// 这里只是一个示例,你可以根据实际需求构造自己的List<Map<>>
List<Map<String, Integer>> list = new ArrayList<>();
Map<String, Integer> map1 = new HashMap<>();
map1.put("key", 3);
map1.put("value", 100);
list.add(map1);
Map<String, Integer> map2 = new HashMap<>();
map2.put("key", 1);
map2.put("value", 200);
list.add(map2);
Map<String, Integer> map3 = new HashMap<>();
map3.put("key", 2);
map3.put("value", 300);
list.add(map3);
return list;
}
}
```
上述代码中,我们通过定义一个Comparator对象,以Map中的键 "key" 进行升序排序。然后,使用Collections.sort方法对List<Map<>>进行排序,并输出排序后的结果。
希望能够帮助到你!如果有任何问题,请随时提问。
阅读全文