以下是一个使用 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`。 [2024-10-30 09:50:29 | AI写代码神器 | 307点数解答]