酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

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]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]