可以使用Java 8的Stream API来实现map<String,String>转map<String,List>。

具体步骤如下:

1.使用Stream的map()方法将原始Map中的每个键值对转换为新的键值对。

2.在转换时,如果目标Map中已经存在该键,则将原始Map中的值添加到目标Map中对应键的值列表中。否则,创建一个新的键值对并将原始Map中的值添加到值列表中。

3.最后,使用Stream的collect()方法将所有键值对收集到目标Map中,以完成转换。

以下是示例代码:

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

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

        Map<String, List<String>> map2 = map1.entrySet().stream()
                .collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.mapping(Map.Entry::getValue, Collectors.toList())));

        System.out.println(map2);
    }
}

运行结果:

{key1=[value1], key2=[value2], key3=[value3], key4=[value4], key5=[value5]}

可以看到,原始的map<String,String>已经成功转换为map<String,List>

mapStringString转mapStringListString

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

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