2003/11/13 05:04:23
[org.ibex.core.git] / src / org / xwt / util / Hash.java
index b9626d1..8256152 100644 (file)
@@ -50,13 +50,9 @@ public class Hash {
     }
 
     /** returns all the primary keys in the table */
-    public Object[] keys() {
-        int howmany = 0;
-        for(int i=0; i<vals.length; i++) if (keys1[i] != null) howmany++;
-        Object[] ret = new Object[howmany];
-        int where = 0;
-        for(int i=0; i<vals.length; i++) if (keys1[i] != null) ret[where++] = keys1[i];
-        return ret;
+    public Enumeration keys() {
+        // FIXME!!!
+        return null;
     }
 
     public Hash() { this(25, 3); }
@@ -70,7 +66,7 @@ public class Hash {
     }
     
     public void remove(Object k1) { remove(k1, null); }
-    public void remove(Object k1, Object k2) { put(k1, k2, null); }
+    public void remove(Object k1, Object k2) { put_(k1, k2, null); }
 
     private void rehash() {
         Object[] oldkeys1 = keys1;
@@ -83,7 +79,7 @@ public class Hash {
         usedslots = 0;
         for(int i=0; i<oldvals.length; i++)
             if (((oldkeys1[i] != null && oldkeys1[i] != placeholder) || (oldkeys2 != null && oldkeys2[i] != null)) && oldvals[i] != null)
-                put(oldkeys1[i], oldkeys2 == null ? null : oldkeys2[i], oldvals[i]);
+                put_(oldkeys1[i], oldkeys2 == null ? null : oldkeys2[i], oldvals[i]);
     }
 
     public Object get(Object k1) { return get(k1, null); }
@@ -109,7 +105,8 @@ public class Hash {
     }
 
     public void put(Object k1, Object v) { put(k1, null, v); }
-    public void put(Object k1, Object k2, Object v) {
+    public void put(Object k1, Object k2, Object v) { put_(k1, k2, v); }
+    private void put_(Object k1, Object k2, Object v) {
         if (usedslots * loadFactor > vals.length) rehash();
         int hash = (k1 == null ? 0 : k1.hashCode()) ^ (k2 == null ? 0 : k2.hashCode());
         int dest = Math.abs(hash) % vals.length;