Java 8 如何从超 500 万的 List<Map<String, String>> 中获取去重后的 device 值集合?
以下是一个使用 Java 8 的`Stream`流来从一个超过 500 万的`List<Map<String, String>>`结构中获取去重后的`key`为`device`的`value`值集合的示例代码: ```java import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; public class DeviceValueExtractor { public static Set<String> extractUniqueDeviceValues(List<Map<String, String>> list) { return list.stream() .flatMap(map -> map.entrySet().stream()) .filter(entry -> entry.getKey().equals("device")) .map(Map.Entry::getValue) .collect(Collectors.toSet()); } public static void main(String[] args) { // 假设这是你的数据 List<Map<String, String>> data = // 初始化你的数据 Set<String> uniqueDeviceValues = extractUniqueDeviceValues(data); System.out.println(uniqueDeviceValues); } } ``` 在上述代码中,通过`stream`流的操作,先将每个`Map`的键值对转换为流,然后筛选出`key`为`device`的项,再获取其`value`值,最后使用`toSet`方法去重并收集为一个`Set`。 ######[AI写代码神器 | 307点数解答 | 2024-10-30 09:50:29]
- Java 代码示例:老板让组长统计在线课程数量及代码优化(字节豆包 | 182点数解答 | 2024-10-10 16:23:27)339
- Java代码修正:老板让统计在线课程数量的正确实现(阿里通义 | 400点数解答 | 2024-10-10 16:28:11)280
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)436
- HTML 任务列表代码:语法纠错、优化建议及额外逻辑要点(字节豆包 | 185点数解答 | 2025-01-01 17:54:37)259
- 代码大变身:从残缺到完整的 Java 代码补充完善! (字节豆包 | 215点数解答 | 2024-12-13 19:41:46)317
- C# 代码:Form1 类中的 VIN 信息结构体与列表实现(字节豆包 | 39点数解答 | 2024-11-05 15:09:08)313
- 洛谷:根据邮件重量与加急情况精准计算邮费(字节豆包 | 88点数解答 | 2024-11-09 15:33:30)422
- Python实现:根据邮件重量与加急选择精准计算邮费(阿里通义 | 554点数解答 | 2024-11-09 15:34:05)430
- 邮件邮费计算:依据重量与加急要求输出邮费(GPT | 45点数解答 | 2024-12-16 22:26:01)373
- 邮件重量与加急选择决定邮费,附计算规则及示例(GPT | 38点数解答 | 2024-12-16 22:27:37)298
- Python 实现:根据重量与加急选项精准计算邮费及输入合法性处理(字节豆包 | 244点数解答 | 2024-12-31 19:36:29)325
- Python 编程:从 500 位内整数中擦除指定数字获最大数的实现方案(字节豆包 | 456点数解答 | 2026-02-07 20:33:37)31