Minor performance improvement. Iterate over the entries in the map instead of the keys. This avoids a redundant table lookup for each value.
git-svn-id: https://svn.apache.org/repos/asf/xalan/java/trunk@1225390 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/org/apache/xalan/xsltc/dom/SAXImpl.java b/src/org/apache/xalan/xsltc/dom/SAXImpl.java
index 869d9c3..e63dfba 100644
--- a/src/org/apache/xalan/xsltc/dom/SAXImpl.java
+++ b/src/org/apache/xalan/xsltc/dom/SAXImpl.java
@@ -22,6 +22,8 @@
package org.apache.xalan.xsltc.dom;
import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Map;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
@@ -1843,17 +1845,16 @@
}
// Convert a java.util.Hashtable to an xsltc.runtime.Hashtable
- Enumeration idValues = m_idAttributes.keys();
- if (!idValues.hasMoreElements()) {
+ Iterator idEntries = m_idAttributes.entrySet().iterator();
+ if (!idEntries.hasNext()) {
return null;
}
Hashtable idAttrsTable = new Hashtable();
-
- while (idValues.hasMoreElements()) {
- Object idValue = idValues.nextElement();
-
- idAttrsTable.put(idValue, m_idAttributes.get(idValue));
+
+ while (idEntries.hasNext()) {
+ Map.Entry entry = (Map.Entry) idEntries.next();
+ idAttrsTable.put(entry.getKey(), entry.getValue());
}
return idAttrsTable;