diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java index 4b1a128f12..99ee468f11 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java @@ -433,19 +433,11 @@ public class AutoConfigurationImportSelector Set allExclusions = this.autoConfigurationEntries.stream() .map(AutoConfigurationEntry::getExclusions) .flatMap(Collection::stream).collect(Collectors.toSet()); - Set processedConfigurations = new LinkedHashSet<>(); - Set processedExclusions = new LinkedHashSet<>(); - this.autoConfigurationEntries.forEach((entry) -> { - List configurations = new ArrayList<>(entry.getConfigurations()); - configurations.removeAll(allExclusions); - configurations.removeIf(processedConfigurations::contains); - Set exclusions = new HashSet<>(entry.getExclusions()); - exclusions.removeIf(processedExclusions::contains); - // This now represents the exact state of this entry based on the - // state of all other entries - processedConfigurations.addAll(configurations); - processedExclusions.addAll(exclusions); - }); + Set processedConfigurations = this.autoConfigurationEntries.stream() + .map(AutoConfigurationEntry::getConfigurations) + .flatMap(Collection::stream) + .collect(Collectors.toCollection(LinkedHashSet::new)); + processedConfigurations.removeAll(allExclusions); return sortAutoConfigurations(processedConfigurations, getAutoConfigurationMetadata())