Java 8 搞定超 500 万 List<Map<String, String>> 结构中 device 键值去重提取!
以下是一个使用 Java 8 的`Stream`流来从超过 500 万的`List<Map<String, String>>`结构中获取去重后的`key`为`device`的`value`值`List`的示例代码: ```java import java.util.ArrayList; 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 List<String> extractUniqueDeviceValues(List<Map<String, String>> list) { Set<String> uniqueDeviceValues = new HashSet<>(); for (Map<String, String> map : list) { if (map.containsKey("device")) { uniqueDeviceValues.add(map.get("device")); } } return new ArrayList<>(uniqueDeviceValues); } public static void main(String[] args) { // 模拟一个包含 500 万条 Map 的 List List<Map<String, String>> largeList = new ArrayList<>(); for (int i = 0; i < 5000000; i++) { Map<String, String> map = Map.of("device", "value" + i % 1000); largeList.add(map); } List<String> uniqueDeviceValues = extractUniqueDeviceValues(largeList); System.out.println(uniqueDeviceValues.size()); } } ``` 在上述代码中,我们使用一个`HashSet`来存储去重后的`device`值,然后将其转换为`List`返回。 ######[AI写代码神器 | 367点数解答 | 2024-10-30 09:54:26]
- 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