您可以使用Streamsorted方法对生成的mapkey进行排序,然后使用collect方法将排序后的键值对转换为List

下面是一个示例代码:

import java.util.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put('b', 2);
        map.put('a', 1);
        map.put('c', 3);

        List<String> sortedKeys = map.entrySet()
                .stream()
                .sorted(Map.Entry.comparingByKey())
                .map(Map.Entry::getKey)
                .collect(Collectors.toList());

        System.out.println(sortedKeys);
    }
}

输出结果为:

[a, b, c]

在上面的代码中,我们使用entrySet方法获取到map的键值对集合。然后使用stream方法将集合转换为Stream。接下来使用sorted方法对键值对进行排序,这里使用comparingByKey方法进行升序排序。然后使用map方法将键值对转换为键。最后使用collect方法将排序后的键转换为List

希望能帮到您!

Java Stream: 按 Key 顺序将 Map 转换为 List

原文地址: https://www.cveoy.top/t/topic/qDB3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录