@Override public int hashCode() { int hashCode = 0; int mc = modCount(); short free = freeValue; short removed = removedValue; short[] keys = set; V[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { short key; if ((key = keys[i]) != free) { hashCode += key ^ nullableValueHashCode(vals[i]); } } } else { for (int i = keys.length - 1; i >= 0; i--) { short key; if ((key = keys[i]) != free && key != removed) { hashCode += key ^ nullableValueHashCode(vals[i]); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }
@Override public int hashCode() { int hashCode = 0; int mc = modCount(); short free = freeValue; short removed = removedValue; short[] keys = set; V[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { short key; if ((key = keys[i]) != free) { hashCode += key ^ nullableValueHashCode(vals[i]); } } } else { for (int i = keys.length - 1; i >= 0; i--) { short key; if ((key = keys[i]) != free && key != removed) { hashCode += key ^ nullableValueHashCode(vals[i]); } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }