Java中对Map集合进行排序,TreeMap,对key和value排序,HashMap排序
在Java中,可以使用TreeMap
来根据键(key)进行排序,或者使用Stream
来对Map
的键值对进行排序。以下是使用TreeMap
和Stream
对Map
进行排序的示例代码:
使用TreeMap
根据键(key)排序:
import java.util.Map;
import java.util.TreeMap;
public class SortMapByKey {
public static void main(String[] args) {
Map<String, Integer> map = new TreeMap<>();
map.put("C", 3);
map.put("A", 1);
map.put("B", 2);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
使用Stream
根据键(key)或值(value)进行排序:
import java.util.*;
import java.util.stream.*;
public class SortMapByKeyOrValue {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("C", 3);
map.put("A", 1);
map.put("B", 2);
// 根据键(key)排序
map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEach(entry -> System.out.println(entry.getKey() + " : " + entry.getValue()));
// 根据值(value)排序
map.entrySet().stream()
.sorted(Map.Entry.comparingByValue())
.forEach(entry -> System.out.println(entry.getKey() + " : " + entry.getValue()));
}
}
注意:HashMap
本身不保证顺序,它是无序的。如果需要保持插入顺序,可以使用LinkedHashMap
。
评论已关闭