mapStringString转mapStringListString
可以使用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
原文地址: https://www.cveoy.top/t/topic/ggSW 著作权归作者所有。请勿转载和采集!