Java 根据Map的key对map进行排序
时间: 2023-05-12 15:07:16 浏览: 98
可以使用TreeMap来实现根据Map的key进行排序,TreeMap是基于红黑树实现的,可以自动按照key的自然顺序排序。以下是一个示例代码:
```java
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());
}
```
输出结果为:
```
a : 1
相关问题
java 根据map的key数据排序
要根据 Map 的 key 数据进行排序,可以按照以下步骤进行操作:
1. 将 Map 的 key 数据提取出来放入一个 List 中。
2. 使用 Collections 类的 sort 方法对 List 进行排序。
3. 遍历排序后的 List,按顺序获取对应的 Map 的 value。
下面是一个示例代码:
```java
import java.util.*;
public class MapSortByKey {
public static void main(String[] args) {
// 创建一个待排序的 Map
Map<Integer, String> map = new HashMap<>();
map.put(3, "C");
map.put(1, "A");
map.put(2, "B");
// 提取 key 并存入 List
List<Integer> keys = new ArrayList<>(map.keySet());
// 对 List 进行排序
Collections.sort(keys);
// 遍历排序后的 List,获取对应的 value
for (Integer key : keys) {
String value = map.get(key);
System.out.println(key + ": " + value);
}
}
}
```
输出结果:
```
1: A
2: B
3: C
```
这样就可以根据 Map 的 key 数据进行排序了。请注意,此示例中使用的是整数作为 key,如果你的 Map 的 key 是其他类型,请相应地修改代码。
Java 使用stream流根据Map的key对map进行排序
可以使用以下代码对Map按照key进行排序:
Map<String, Integer> map = new HashMap<>();
// 添加元素到map中
Map<String, Integer> sortedMap = map.entrySet()
.stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
阅读全文