Committed by
Gerrit Code Review
Reduce number of Map lookups
Change-Id: I6ea71c120e9143dabdb44dfd86b78f570647eb4b
Showing
1 changed file
with
6 additions
and
4 deletions
... | @@ -26,6 +26,7 @@ import org.onosproject.net.resource.Resources; | ... | @@ -26,6 +26,7 @@ import org.onosproject.net.resource.Resources; |
26 | import java.util.LinkedHashMap; | 26 | import java.util.LinkedHashMap; |
27 | import java.util.LinkedHashSet; | 27 | import java.util.LinkedHashSet; |
28 | import java.util.Map; | 28 | import java.util.Map; |
29 | +import java.util.Map.Entry; | ||
29 | import java.util.Objects; | 30 | import java.util.Objects; |
30 | import java.util.Optional; | 31 | import java.util.Optional; |
31 | import java.util.Set; | 32 | import java.util.Set; |
... | @@ -100,13 +101,14 @@ final class EncodableDiscreteResources implements DiscreteResources { | ... | @@ -100,13 +101,14 @@ final class EncodableDiscreteResources implements DiscreteResources { |
100 | EncodableDiscreteResources cast = (EncodableDiscreteResources) other; | 101 | EncodableDiscreteResources cast = (EncodableDiscreteResources) other; |
101 | 102 | ||
102 | Map<Class<?>, EncodedDiscreteResources> newMap = new LinkedHashMap<>(); | 103 | Map<Class<?>, EncodedDiscreteResources> newMap = new LinkedHashMap<>(); |
103 | - for (Class<?> key : this.map.keySet()) { | 104 | + for (Entry<Class<?>, EncodedDiscreteResources> e : this.map.entrySet()) { |
104 | - EncodedDiscreteResources thisValues = this.map.get(key); | 105 | + Class<?> key = e.getKey(); |
105 | - if (!cast.map.containsKey(key)) { | 106 | + EncodedDiscreteResources thisValues = e.getValue(); |
107 | + EncodedDiscreteResources otherValues = cast.map.get(key); | ||
108 | + if (otherValues == null) { | ||
106 | newMap.put(key, thisValues); | 109 | newMap.put(key, thisValues); |
107 | continue; | 110 | continue; |
108 | } | 111 | } |
109 | - EncodedDiscreteResources otherValues = cast.map.get(key); | ||
110 | EncodedDiscreteResources diff = thisValues.difference(otherValues); | 112 | EncodedDiscreteResources diff = thisValues.difference(otherValues); |
111 | // omit empty resources from a new resource set | 113 | // omit empty resources from a new resource set |
112 | // empty EncodedDiscreteResources can't deserialize due to | 114 | // empty EncodedDiscreteResources can't deserialize due to | ... | ... |
-
Please register or login to post a comment