]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.utils.datastructures/src/org/simantics/utils/datastructures/ArrayMap.java
Sync git svn branch with SVN repository r33364.
[simantics/platform.git] / bundles / org.simantics.utils.datastructures / src / org / simantics / utils / datastructures / ArrayMap.java
index 7115f29d51bb82db3883a5108d2a7eb973626433..b9b5415d85ba3b1a779189151ad9b51cf5470fae 100644 (file)
@@ -39,8 +39,8 @@ import java.util.Set;
  */\r
 public class ArrayMap<K, V> implements Map<K, V> {\r
 \r
-    K[] keys;\r
-    V[] values;\r
+    final K[] keys;\r
+    final V[] values;\r
     Set<Map.Entry<K, V>> entrySet;\r
     Set<K> keySet;\r
     Collection<V> valueSet;\r
@@ -292,7 +292,7 @@ public class ArrayMap<K, V> implements Map<K, V> {
                 public Map.Entry<K, V> next() {\r
                     if (i >= keys.length)\r
                         throw new NoSuchElementException("no more elements (" + keys.length + " walked)");\r
-                    Map.Entry<K, V> entry = new Entry<K, V>(i, keys[i], values[i]);\r
+                    Map.Entry<K, V> entry = new ArrayMapEntry<K, V>(i, keys[i], values[i]);\r
                     ++i;\r
                     return entry;\r
                 }\r
@@ -306,63 +306,6 @@ public class ArrayMap<K, V> implements Map<K, V> {
 \r
     }\r
 \r
-    static class Entry<K, V> implements Map.Entry<K, V> {\r
-        final K key;\r
-        V value;\r
-\r
-        /**\r
-         * Creates new entry.\r
-         */\r
-        Entry(int h, K k, V v) {\r
-            value = v;\r
-            key = k;\r
-        }\r
-\r
-        @Override\r
-        public final K getKey() {\r
-            return key;\r
-        }\r
-\r
-        @Override\r
-        public final V getValue() {\r
-            return value;\r
-        }\r
-\r
-        @Override\r
-        public final V setValue(V newValue) {\r
-            V oldValue = value;\r
-            value = newValue;\r
-            return oldValue;\r
-        }\r
-\r
-        @Override\r
-        public final boolean equals(Object o) {\r
-            if (!(o instanceof Map.Entry<?, ?>))\r
-                return false;\r
-            Map.Entry<?, ?> e = (Map.Entry<?, ?>)o;\r
-            Object k1 = getKey();\r
-            Object k2 = e.getKey();\r
-            if (k1 == k2 || (k1 != null && k1.equals(k2))) {\r
-                Object v1 = getValue();\r
-                Object v2 = e.getValue();\r
-                if (v1 == v2 || (v1 != null && v1.equals(v2)))\r
-                    return true;\r
-            }\r
-            return false;\r
-        }\r
-\r
-        @Override\r
-        public final int hashCode() {\r
-            return (key==null   ? 0 : key.hashCode()) ^\r
-            (value==null ? 0 : value.hashCode());\r
-        }\r
-\r
-        @Override\r
-        public final String toString() {\r
-            return getKey() + "=" + getValue();\r
-        }\r
-    }\r
-\r
     /**\r
      * Returns the hash code value for this map.  The hash code of a map is\r
      * defined to be the sum of the hash codes of each entry in the map's\r