- public Object get(Object key) { int i = indexOf(key); return i >= 0 ? entries[i + 1] : null; }
- public Object put(Object key, Object value) {
- Object old = null;
- int dest = indexOf(key);
- if (dest >= 0) old = entries[(-1 * dest - 1) + 1];
- dest = put(dest, key);
- entries[dest + 1] = value;
- return old;
- }
-
- protected void entryAdded(int dest) {}
- protected void entryUpdated(int dest) {}
- protected void entryRemoved(int dest) {}
-
- public boolean containsKey(Object k) { return super.containsValue(k); }
-
- public boolean containsValue(Object v) {
- for (int i=0; i < numslots; i++)
- if ((i == 0 || entries[i * indexmultiple] != null) && // exception for null key
- !equals(placeholder, entries[i * indexmultiple]) &&
- v == null ? entries[i + 1] == null : v.equals(entries[i + 1]))
- return true;
- return false;
- }
- }