{"title":"Java Stream流提取List<Map<String,List>>中的所有value值","description":"使用Java Stream流的flatMap方法,可以轻松地将List<Map<String,List>>中的所有value值提取到一个新的List中。本示例代码展示了如何使用flatMap方法将每个Map的value转换为一个流,并最终将所有流合并为一个List。","keywords":"Java, Stream, flatMap, List, Map, value, 提取, 合并","content":"可以使用flatMap方法来实现。flatMap方法会将每个元素映射到一个流,然后将所有流合并为一个流。在这个例子中,我们可以将每个Map的value转换为一个流,然后使用flatMap将所有流合并为一个流,最后将流收集到一个List中。\n\n示例代码如下:\n\njava\nList<Map<String, List<String>>> list = new ArrayList<>();\n\n// 添加示例数据\nMap<String, List<String>> map1 = new HashMap<>();\nmap1.put("key1", Arrays.asList("value1", "value2", "value3"));\nmap1.put("key2", Arrays.asList("value4", "value5"));\nlist.add(map1);\n\nMap<String, List<String>> map2 = new HashMap<>();\nmap2.put("key3", Arrays.asList("value6", "value7"));\nmap2.put("key4", Arrays.asList("value8", "value9", "value10"));\nlist.add(map2);\n\n// 使用stream流将所有map的value合并到一个List<String>中\nList<String> result = list.stream()\n .flatMap(map -> map.values().stream())\n .flatMap(List::stream)\n .collect(Collectors.toList());\n\n// 输出结果\nSystem.out.println(result);\n\n\n输出结果为:\n\n\n[value1, value2, value3, value4, value5, value6, value7, value8, value9, value10]\n


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

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