hutool List<Map<Interget,String>> list; list.add(new map{{1,大朗},{2,东莞}})list.add(new map{{1,福田}{2,深圳}}) 地点排序,河源、深圳、惠州、中山、东莞
时间: 2023-11-01 08:12:45 浏览: 114
您可以使用Java的Collections.sort()方法来对List<Map<Integer, String>>进行排序,具体实现如下:
```
List<Map<Integer, String>> list = new ArrayList<>();
Map<Integer, String> map1 = new HashMap<>();
map1.put(1, "大朗");
map1.put(2, "东莞");
list.add(map1);
Map<Integer, String> map2 = new HashMap<>();
map2.put(1, "福田");
map2.put(2, "深圳");
list.add(map2);
Collections.sort(list, new Comparator<Map<Integer, String>>() {
@Override
public int compare(Map<Integer, String> o1, Map<Integer, String> o2) {
String[] arr = {"河源", "深圳", "惠州", "中山", "东莞"};
int index1 = -1;
int index2 = -1;
for (int i = 0; i < arr.length; i++) {
if (o1.containsValue(arr[i])) {
index1 = i;
}
if (o2.containsValue(arr[i])) {
index2 = i;
}
}
return index1 - index2;
}
});
```
上述代码中,我们首先定义了一个List<Map<Integer, String>>,然后向其中添加两个Map。最终对List进行排序,排序规则与之前的回答一致,我们使用containsValue()方法来判断Map中是否包含该地点,如果包含则记录下该地点在数组中的索引,最终返回两个Map在数组中的索引差,从而完成排序。
阅读全文