Java哈希表value排序
时间: 2023-08-14 20:19:10 浏览: 105
要对Java哈希表中的value进行排序,可以将map中的entry集合转换成List,然后利用Collections.sort()方法对List中的元素进行排序,最后再将排序后的List转换回Map形式。
以下是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<>();
map.put(1, 20);
map.put(2, 10);
map.put(3, 50);
map.put(4, 40);
map.put(5, 30);
List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
@Override
public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
Map<Integer, Integer> sortedMap = new LinkedHashMap<>();
for (Map.Entry<Integer, Integer> entry : list) {
sortedMap.put(entry.getKey(), entry.getValue());
}
System.out.println(sortedMap);
}
}
```
输出结果为:{2=10, 1=20, 5=30, 4=40, 3=50},表示按照value从小到大排序后的哈希表。
阅读全文