protected int positionOf(final Object k) { if (k == null) { if(containsNullKey) return n; else return -1; } K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; // There's always an unused entry. while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; } }
protected int positionOf(final Object k) { if (k == null) { if(containsNull) return n; else return -1; } K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; // There's always an unused entry. while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; } }
protected int positionOf(final Object k) { if (k == null) { return (containsNullKey) ? n : -1; } K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; // There's always an unused entry. while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; } }
@SuppressWarnings("unchecked") public V remove(final Object k) { if (k == null) { if (containsNullKey) return removeNullEntry(); return defRetValue; } K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return removeEntry(pos); while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return removeEntry(pos); } } private V setValue(final int pos, final V v) {
@SuppressWarnings("unchecked") public int removeInt(final Object k) { if (k == null) { if (containsNullKey) return removeNullEntry(); return defRetValue; } K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return removeEntry(pos); while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return removeEntry(pos); } } private int setValue(final int pos, final int v) {
protected int positionOf(final Object k) { if (k == null) { return (containsNullKey) ? n : -1; } K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; // There's always an unused entry. while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return -1; if (hasher.areEqual(k, curr)) return pos; } }
public boolean containsKey(final Object k) { if (k == null) return containsNullKey; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; } } public boolean containsValue(final int v) {
public Integer get(final Object k) { if (k == null) return containsNullKey ? value[n] : defRetValue; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; } } public int getInt(final Object k) {
public boolean containsKey(final Object k) { if (k == null) return containsNullKey; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; } } public boolean containsValue(final Object v) {
public boolean containsKey(final Object k) { if (k == null) return containsNullKey; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; } } public boolean containsValue(final int v) {
@SuppressWarnings("unchecked") @Override public boolean remove(final Object k) { if (k == null) return containsNull && removeNullEntry(); K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return removeEntry(pos); while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return false; if (hasher.areEqual(k, curr)) return removeEntry(pos); } }
public boolean contains(final Object k) { if (k == null) return containsNull; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; // There's always an unused entry. while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; } }
public boolean contains(final Object k) { if (k == null) return containsNull; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; // There's always an unused entry. while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; } }
public V get(final Object k) { if (k == null) return containsNullKey ? value[n] : defRetValue; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; } }
@SuppressWarnings("unchecked") protected boolean rem(final Object k) { if (k == null) return containsNull && removeNullEntry(); K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return removeEntry(pos); while (true) { if ((curr = key[pos = pos + 1 & mask]) == null) return false; if (hasher.areEqual(k, curr)) return removeEntry(pos); } }
public V getOrDefault(final Object k, final V defaultValue) { if (k == null) return containsNullKey ? value[n] : defaultValue; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defaultValue; if (hasher.areEqual(k, curr)) return value[pos]; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defaultValue; if (hasher.areEqual(k, curr)) return value[pos]; } }
public V get(final Object k) { if (k == null) return containsNullKey ? value[n] : defRetValue; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; } }
public boolean containsKey(final Object k) { if (k == null) return containsNullKey; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return false; if (hasher.areEqual(k, curr)) return true; } } public boolean containsValue(final Object v) {
public int getInt(final Object k) { if (k == null) return containsNullKey ? value[n] : defRetValue; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defRetValue; if (hasher.areEqual(k, curr)) return value[pos]; } }
public V getOrDefault(final Object k, final V defaultValue) { if (k == null) return containsNullKey ? value[n] : defaultValue; K curr; final K[] key = this.key; int pos; // The starting point. if ((curr = key[pos = (hasher.hash(k)) & mask]) == null) return defaultValue; if (hasher.areEqual(k, curr)) return value[pos]; // There's always an unused entry. while (true) { if ((curr = key[pos = (pos + 1) & mask]) == null) return defaultValue; if (hasher.areEqual(k, curr)) return value[pos]; } }