Use entrySet instead of keySet here.
208 }
209
210 int size = object.size();
211 for (String key : object.keySet()) {212 String jsonKey = keyToJson(key);
213 writeAlignedKey(jsonKey, alignmentLen);
214 writeValue(object.get(key));
Use entrySet instead of keySet here.
54 protected void save() throws IOException {
55 JsonNode root = JsonNode.array();
56
57 for (String key : active_tokens.keySet()) { 58 JsonNode node = JsonNode.object();
59 node.set("key", key);
60 node.set("value", active_tokens.get(key));
Use entrySet instead of keySet here.
102 req.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
103 req.addHeader("Accept", "application/json");
104
105 for (String key : headers.keySet()) {106 req.addHeader(key, headers.get(key));
107 }
108
Use entrySet instead of keySet here.
48 req.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
49 req.addHeader("Accept", "application/json");
50
51 for (String key : headers.keySet()) { 52 req.addHeader(key, headers.get(key));
53 }
54
Use entrySet instead of keySet here.
29 } else {
30 JsonNode root = JsonNode.array();
31
32 for (String key : exs.command_buffer.keySet()) {33 JsonNode node = JsonNode.object();
34 node.set("key", key);
35 node.set("value", exs.command_buffer.get(key));
Use entrySet instead of keySet here.
214 }
215
216 int size = object.size();
217 for (String key : object.keySet()) {218 String jsonKey = keyToJson(key);
219 writeAlignedKey(jsonKey, alignmentLen);
220 writeValue(object.get(key));
Description
This method accesses the value of a Map entry, using a key that was retrieved from a keySet
iterator.
It is more efficient to use an iterator on the entrySet
of the map, to avoid the Map.get(key)
lookup.
Bad Practice
for (String key: map.keySet()) {
...
if (satisfiesCriteria(key))
value = map.get(key); // Inefficient
...
}
Recommended
for (Map.Entry<String, Integer> entry : map.entrySet()) {
...
if (satisfiesCriteria(entry.getKey())
value = entry.getValue();
...
}
While the performance benefits of this change may not be very high for smaller maps, it is worth making this change if you will be handling maps with very large capacities (entry count in the millions for example), and/or slower or bad hashing implementations.
References
- SpotBugs - WMI_WRONG_MAP_ITERATOR