You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ch...@apache.org on 2017/07/11 17:22:36 UTC

[46/50] [abbrv] commons-collections git commit: COLLECTIONS-602: Improve efficiency of DefaultedMap.get. Applying patch provided by John Mark.

COLLECTIONS-602: Improve efficiency of DefaultedMap.get. Applying patch provided by John Mark.



git-svn-id: https://svn.apache.org/repos/asf/commons/proper/collections/trunk@1796031 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/commons-collections/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-collections/commit/8f346f9f
Tree: http://git-wip-us.apache.org/repos/asf/commons-collections/tree/8f346f9f
Diff: http://git-wip-us.apache.org/repos/asf/commons-collections/diff/8f346f9f

Branch: refs/heads/master
Commit: 8f346f9f1263b2fd5923abc0956134df15fd9325
Parents: 9f0d589
Author: Bruno P. Kinoshita <ki...@apache.org>
Authored: Wed May 24 09:32:48 2017 +0000
Committer: Bruno P. Kinoshita <ki...@apache.org>
Committed: Wed May 24 09:32:48 2017 +0000

----------------------------------------------------------------------
 src/changes/changes.xml                                     | 3 +++
 .../org/apache/commons/collections4/map/DefaultedMap.java   | 9 ++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-collections/blob/8f346f9f/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9b39615..bf23905 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -21,6 +21,9 @@
   </properties>
   <body>
   <release version="4.2" date="YYYY-MM-DD" description="New features">
+    <action issue="COLLECTIONS-602" dev="kinow" type="update" due-to="John Mark">
+      Improve efficiency of DefaultedMap.get
+    </action>
     <action issue="COLLECTIONS-603" dev="kinow" type="fix" due-to="Artem Konovalov">
       Small improvements for generics, conditional statements, and warnings suppressions.
     </action>

http://git-wip-us.apache.org/repos/asf/commons-collections/blob/8f346f9f/src/main/java/org/apache/commons/collections4/map/DefaultedMap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/collections4/map/DefaultedMap.java b/src/main/java/org/apache/commons/collections4/map/DefaultedMap.java
index 17605fd..7c0d783 100644
--- a/src/main/java/org/apache/commons/collections4/map/DefaultedMap.java
+++ b/src/main/java/org/apache/commons/collections4/map/DefaultedMap.java
@@ -198,11 +198,10 @@ public class DefaultedMap<K, V> extends AbstractMapDecorator<K, V> implements Se
     @Override
     @SuppressWarnings("unchecked")
     public V get(final Object key) {
-        // create value for key if key is not currently in the map
-        if (map.containsKey(key) == false) {
-            return value.transform((K) key);
-        }
-        return map.get(key);
+        V v;
+        return (((v = map.get(key)) != null) || map.containsKey(key))
+          ? v
+          : value.transform((K) key);
     }
 
     // no need to wrap keySet, entrySet or values as they are views of