[ https://issues.apache.org/jira/browse/COLLECTIONS-602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16018694#comment-16018694 ]
Bruno P. Kinoshita commented on COLLECTIONS-602: ------------------------------------------------ For general information on how to contribute, see [this page|https://commons.apache.org/patches.html]. Commons Collections is still using Subversion for code management, this is the repository https://svn.apache.org/repos/asf/commons/proper/collections/trunk If you are comfortable with Subversion, you can check out that repository, make your changes, and follow the information in the first link to create a JIRA ticket, and a patch to attach to the ticket with your changes. If you are more comfortable or prefer to use Git, you can fork https://github.com/apache/commons-collections, make all the changes in your own forked repository, and then [submit a pull request|https://help.github.com/articles/about-pull-requests/]. A committer will review your patch or pull request, and either ask for feedback or changes, and then merge it (-: Hope that helps Bruno > 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 > > 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)