[ https://issues.apache.org/jira/browse/COLLECTIONS-602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16019576#comment-16019576 ]
John Mark commented on COLLECTIONS-602: --------------------------------------- Yes, that is what I was looking for, thanks. I am attaching a patch to this ticket. > 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 > Labels: help-wanted > Attachments: COLLECTIONS-602.patch > > > 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)