linkedHashMap排序
时间: 2023-10-09 12:14:10 浏览: 105
HashMap排序
LinkedHashMap 是 Java 中的一种数据结构,它是 HashMap 的子类,在保持元素插入顺序的同时,还可以实现按照自定义规则对元素进行排序。下面是一个示例代码,演示如何使用 LinkedHashMap 进行排序:
```java
import java.util.*;
public class LinkedHashMapSortExample {
public static void main(String[] args) {
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("Apple", 5);
map.put("Banana", 2);
map.put("Orange", 4);
map.put("Grape", 3);
// 使用自定义规则对 LinkedHashMap 进行排序
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(map.entrySet());
Collections.sort(entryList, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
// 根据值进行降序排序
return o2.getValue().compareTo(o1.getValue());
}
});
// 打印排序后的结果
for (Map.Entry<String, Integer> entry : entryList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
运行以上代码,输出结果会按照值的降序排序:
```
Apple: 5
Orange: 4
Grape: 3
Banana: 2
```
在上述示例中,我们首先将 LinkedHashMap 中的键值对存储到一个 List 中,然后使用 Collections.sort() 方法和自定义的 Comparator 对 List 进行排序。最后,按照排序后的顺序打印结果。你可以根据自己的需求,修改 Comparator 的逻辑来实现不同的排序规则。
阅读全文