java 把一个Map的key分割后,转成LinkedHashMap按key正序排序
时间: 2024-02-26 10:59:30 浏览: 201
如果你想按照Map的key进行分割后,再按key正序排序转换为LinkedHashMap,可以使用Java 8 的 Stream API 和 Collectors 工具类实现,示例代码如下:
```java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("foo1", 1);
map.put("foo2", 2);
map.put("bar1", 3);
map.put("bar2", 4);
System.out.println("原始Map:" + map);
Map<String, Integer> sortedMap = map.entrySet().stream()
.collect(Collectors.toMap(entry -> entry.getKey().split("")[0], Map.Entry::getValue, (v1, v2) -> v1, LinkedHashMap::new));
System.out.println("按key分割后并按key正序排序的Map:" + sortedMap);
}
}
```
输出结果为:
```
原始Map:{foo1=1, foo2=2, bar1=3, bar2=4}
按key分割后并按key正序排序的Map:{b=3, f=1}
```
在这个示例中,我们使用stream()方法将map转化为一个流,然后使用Collectors.toMap()方法将分割后的key和原始value转换为一个新的Map,并且保留原始值的方式来处理键冲突,并使用LinkedHashMap作为输出Map的类型。最后,我们将排序后的Map打印出来。
阅读全文
相关推荐















