John Mark created COLLECTIONS-602: ------------------------------------- Summary: Improve efficiency of DefaultedMap.get Key: COLLECTIONS-602 URL: https://issues.apache.org/jira/browse/COLLECTIONS-602 Project: Commons Collections Issue Type: Bug Reporter: John Mark
The current implementation of {{org.apache.commons.collections4.map.DefaultedMap.get()}} is inefficient since it always require two map lookups. There is no need to check map.containsKey() every time. I would suggest implementing this method similar to the way that Java 8 does with {{Map.getOrDefault()}}. My proposed implementation would be something like this: {code} public V get(final Object key) { V v; return ((v = map.get(key) != null) || map.containsKey(key)) ? v : value.transform((K) key); } {code} It can be further optimized to not even call map.containsKey() if map is known to not contain null values. -- This message was sent by Atlassian JIRA (v6.3.15#6346)