Map 根据指定key 排序
时间: 2023-08-03 20:07:20 浏览: 92
对Map的key和value进行排序
在Java中,Map是无序的,因为它只是一个键值对的集合。但是,如果你想要按照键(key)对Map进行排序,你可以将Map转换为List,然后使用Java的Collections.sort方法进行排序。
这里是一个示例代码:
```java
import java.util.*;
public class SortMapByKeyExample {
public static void main(String[] args) {
Map<String, Integer> unsortedMap = new HashMap<>();
unsortedMap.put("c", 10);
unsortedMap.put("b", 5);
unsortedMap.put("a", 1);
unsortedMap.put("d", 8);
System.out.println("Unsorted Map: " + unsortedMap);
List<Map.Entry<String, Integer>> list = new ArrayList<>(unsortedMap.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
Map<String, Integer> sortedMap = new LinkedHashMap<>();
for (Map.Entry<String, Integer> entry : list) {
sortedMap.put(entry.getKey(), entry.getValue());
}
System.out.println("Sorted Map by Key: " + sortedMap);
}
}
```
这个例子中,我们首先创建了一个无序的Map。然后,我们将Map转换为一个List,使用Collections.sort方法按照键进行排序。最后,我们将排序后的键值对放入一个新的有序Map中。
阅读全文