From 013e9159e927cf96493a5f8577cfd2807cb045c8 Mon Sep 17 00:00:00 2001 From: Kui LIU Date: Wed, 11 Oct 2017 14:18:19 +0200 Subject: [PATCH] Fix the inefficient use of keySet iterator with entrySet iterator. The current source code accesses the key and value of a Hashtable entry, using a key that is retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the Hashtable, to avoid the Map.get(key) lookup. --- src/main/org/apache/tools/ant/filters/ReplaceTokens.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/org/apache/tools/ant/filters/ReplaceTokens.java b/src/main/org/apache/tools/ant/filters/ReplaceTokens.java index 74da64a16..bcbc312cd 100644 --- a/src/main/org/apache/tools/ant/filters/ReplaceTokens.java +++ b/src/main/org/apache/tools/ant/filters/ReplaceTokens.java @@ -23,6 +23,7 @@ import java.io.InputStream; import java.io.Reader; import java.util.Enumeration; import java.util.Hashtable; +import java.util.Map; import java.util.Properties; import java.util.SortedMap; import java.util.TreeMap; @@ -116,8 +117,8 @@ public final class ReplaceTokens if (!resolvedTokensBuilt) { // build the resolved tokens tree map. - for (String key : hash.keySet()) { - resolvedTokens.put(beginToken + key + endToken, hash.get(key)); + for (Map.Entry entry : hash.entrySet()) { + resolvedTokens.put(beginToken + entry.getKey() + endToken, entry.getValue()); } resolvedTokensBuilt = true; }