Avoid unnecessary allocations needed to convert List to Set
Change-Id: I80b0bcf31f625f8e151155880075c888a0cf1c1d
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java
index 7b15a0a..ceb115d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java
@@ -21,7 +21,6 @@
import org.onosproject.net.resource.Resources;
import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
@@ -75,9 +74,9 @@
}
@Override
- public boolean containsAny(List<DiscreteResource> other) {
- Map<Boolean, List<DiscreteResource>> partitioned = other.stream()
- .collect(Collectors.partitioningBy(CODECS::isEncodable));
+ public boolean containsAny(Set<DiscreteResource> other) {
+ Map<Boolean, Set<DiscreteResource>> partitioned = other.stream()
+ .collect(Collectors.partitioningBy(CODECS::isEncodable, Collectors.toCollection(LinkedHashSet::new)));
return generics.containsAny(partitioned.get(false)) || encodables.containsAny(partitioned.get(true));
}
@@ -87,8 +86,8 @@
}
@Override
- public DiscreteResources remove(List<DiscreteResource> removed) {
- return of(Sets.difference(values(), new LinkedHashSet<>(removed)));
+ public DiscreteResources remove(Set<DiscreteResource> removed) {
+ return of(Sets.difference(values(), removed));
}
@Override