使用Java 8的Stream API可以对List<Map<String, String>>进行分组操作。下面是一个示例代码:\n\njava\nimport java.util.*;\nimport java.util.stream.Collectors;\n\npublic class GroupingExample {\n public static void main(String[] args) {\n List<Map<String, String>> list = new ArrayList<>();\n Map<String, String> map1 = new HashMap<>();\n map1.put("name", "John");\n map1.put("age", "25");\n map1.put("gender", "Male");\n list.add(map1);\n\n Map<String, String> map2 = new HashMap<>();\n map2.put("name", "Jane");\n map2.put("age", "30");\n map2.put("gender", "Female");\n list.add(map2);\n\n Map<String, String> map3 = new HashMap<>();\n map3.put("name", "Tom");\n map3.put("age", "25");\n map3.put("gender", "Male");\n list.add(map3);\n\n // 根据age分组\n Map<String, List<Map<String, String>>> groupedByAge = list.stream()\n .collect(Collectors.groupingBy(m -> m.get("age")));\n\n // 输出分组结果\n groupedByAge.forEach((age, group) -> {\n System.out.println("Age: " + age);\n group.forEach(System.out::println);\n System.out.println();\n });\n }\n}\n\n\n输出结果:\n\n\nAge: 25\n{gender=Male, name=John, age=25}\n{gender=Male, name=Tom, age=25}\n\nAge: 30\n{gender=Female, name=Jane, age=30}\n\n\n以上代码通过Stream的collect方法结合Collectors.groupingBy实现了根据age属性进行分组。分组结果以Map<String, List<Map<String, String>>>的形式返回,其中键是分组的属性值,值是对应分组的元素列表。\n\n该示例代码演示了使用 Java 8 的 Stream API 对 List<Map<String, String>> 进行分组操作的简单方法。您可以根据实际需求更改分组属性和输出方式。\n\n希望这个示例对您有所帮助。如果您有任何问题,请随时提出。


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

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