可以使用 flatMap 方法来实现将 Map<String, List<String>> 中的 Value 合并成一个 List 的操作。

具体代码如下:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, List<String>> map = new HashMap<>();
        map.put("key1", List.of("value1", "value2", "value3"));
        map.put("key2", List.of("value4", "value5"));

        List<String> mergedList = map.values().stream()
                .flatMap(List::stream)
                .toList();

        System.out.println(mergedList);
    }
}

输出结果为:

[value1, value2, value3, value4, value5]

在这个示例中,我们首先创建了一个包含 String 作为 key,List 作为 value 的 map。然后,我们使用 stream 方法将 map 的 values 转换为一个流。接下来,我们使用 flatMap 方法将每个 List<String> 转换为一个流,并将所有流合并成一个流。最后,我们使用 toList 方法将流转换为一个 List<String>,即合并后的列表。

注意,需要使用 Java 16 或更高版本才能使用 toList 方法。如果你使用的是更早的 Java 版本,可以使用 collect(Collectors.toList()) 来替代 toList 方法。


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

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