/** * Puts a value in the table. * @return the old value or null */ public Object put(Object o1, Object o2, Object o3, Object value) { int hash = hashCode(o1, o2, o3) & 0x7FFFFFFF; int index = hash % table.length; for (Entry e = table[index]; e != null; e = e.next) { if ((e.hash == hash) && e.match(o1, o2, o3)) { Object old = e.value; e.value = value; return old; } } // The key is not in the hash table int len = table.length; if (count++ >= (len - (len >> 2))) { // more than 75% loaded: grow rehash(); index = hash % table.length; } Entry e = new Entry(hash, o1, o2, o3, value, table[index]); table[index] = e; return null; }
/** * Puts a value in the table. * @return the old value or null */ public Object put(Object o1, Object o2, Object o3, Object value) { int hash = hashCode(o1, o2, o3) & 0x7FFFFFFF; int index = hash % table.length; for (Entry e = table[index]; e != null; e = e.next) { if ((e.hash == hash) && e.match(o1, o2, o3)) { Object old = e.value; e.value = value; return old; } } // The key is not in the hash table int len = table.length; if (count++ >= (len - (len >> 2))) { // more than 75% loaded: grow rehash(); index = hash % table.length; } Entry e = new Entry(hash, o1, o2, o3, value, table[index]); table[index] = e; return null; }
/** * Puts a value in the table. * @return the old value or null */ public Object put(Object o1, Object o2, Object o3, Object value) { int hash = hashCode(o1, o2, o3) & 0x7FFFFFFF; int index = hash % table.length; for (Entry e = table[index]; e != null; e = e.next) { if ((e.hash == hash) && e.match(o1, o2, o3)) { Object old = e.value; e.value = value; return old; } } // The key is not in the hash table int len = table.length; if (count++ >= (len - (len >> 2))) { // more than 75% loaded: grow rehash(); index = hash % table.length; } Entry e = new Entry(hash, o1, o2, o3, value, table[index]); table[index] = e; return null; }
/** * Gets the value of an entry * @return the value or null */ public Object get(Object o1, Object o2, Object o3) { int hash = hashCode(o1, o2, o3) & 0x7FFFFFFF; int index = hash % table.length; for (Entry e = table[index]; e != null; e = e.next) { if ((e.hash == hash) && e.match(o1, o2, o3)) { return e.value; } } return null; }
/** * Gets the value of an entry * @return the value or null */ public Object get(Object o1, Object o2, Object o3) { int hash = hashCode(o1, o2, o3) & 0x7FFFFFFF; int index = hash % table.length; for (Entry e = table[index]; e != null; e = e.next) { if ((e.hash == hash) && e.match(o1, o2, o3)) { return e.value; } } return null; }
/** * Gets the value of an entry * @return the value or null */ public Object get(Object o1, Object o2, Object o3) { int hash = hashCode(o1, o2, o3) & 0x7FFFFFFF; int index = hash % table.length; for (Entry e = table[index]; e != null; e = e.next) { if ((e.hash == hash) && e.match(o1, o2, o3)) { return e.value; } } return null; }