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/GenericDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
index 161f1ff..94e3c62 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
@@ -22,7 +22,6 @@
import org.onosproject.net.resource.Resources;
import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
@@ -68,7 +67,7 @@
}
@Override
- public boolean containsAny(List<DiscreteResource> other) {
+ public boolean containsAny(Set<DiscreteResource> other) {
return other.stream().anyMatch(values::contains);
}
@@ -82,10 +81,8 @@
// returns a new instance, not mutate the current instance
@Override
- public DiscreteResources remove(List<DiscreteResource> removed) {
- Set<DiscreteResource> newValues = new LinkedHashSet<>(this.values);
- newValues.removeAll(removed);
- return new GenericDiscreteResources(newValues);
+ public DiscreteResources remove(Set<DiscreteResource> removed) {
+ return of(Sets.difference(this.values, removed));
}
@Override