java hashmap 字符串排序
时间: 2023-09-12 12:04:56 浏览: 84
Java中的HashMap是无序的,如果需要对HashMap中的字符串按照字典序进行排序,可以使用TreeMap来实现。
例如,我们有一个HashMap<String, Integer> map,需要按照键的字典序排序,则可以使用以下代码:
```java
// 初始化map
HashMap<String, Integer> map = new HashMap<>();
map.put("abc", 3);
map.put("def", 2);
map.put("xyz", 1);
// 构造TreeMap,并传入Comparator比较器
TreeMap<String, Integer> sortedMap = new TreeMap<>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2); // 按照字典序进行比较
}
});
// 将HashMap中的键值对添加到TreeMap中
sortedMap.putAll(map);
// 遍历排序后的TreeMap
for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
```
输出结果为:
```
abc -> 3
def -> 2
xyz -> 1
```
可以看到,输出结果按照键的字典序进行了排序。
阅读全文