@Override public int hashCode() { int hashCode = 0; int mc = modCount(); Object[] keys = set; int[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { K key; // noinspection unchecked if ((key = (K) keys[i]) != FREE) { hashCode += nullableKeyHashCode(key) ^ vals[i]; } } } else { for (int i = keys.length - 1; i >= 0; i--) { K key; // noinspection unchecked if ((key = (K) keys[i]) != FREE && key != REMOVED) { hashCode += nullableKeyHashCode(key) ^ vals[i]; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }
@Override public int hashCode() { int hashCode = 0; int mc = modCount(); Object[] keys = set; int[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { K key; // noinspection unchecked if ((key = (K) keys[i]) != FREE) { hashCode += nullableKeyHashCode(key) ^ vals[i]; } } } else { for (int i = keys.length - 1; i >= 0; i--) { K key; // noinspection unchecked if ((key = (K) keys[i]) != FREE && key != REMOVED) { hashCode += nullableKeyHashCode(key) ^ vals[i]; } } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return hashCode; }
if (newKeys[index = SeparateKVObjKeyMixing.mix(nullableKeyHashCode(key)) % capacity] != FREE) { int bIndex = index, fIndex = index, step = 1; while (true) { if (newKeys[index = SeparateKVObjKeyMixing.mix(nullableKeyHashCode(key)) % capacity] != FREE) { int bIndex = index, fIndex = index, step = 1; while (true) {
if (newKeys[index = SeparateKVObjKeyMixing.mix(nullableKeyHashCode(key)) % capacity] != FREE) { int bIndex = index, fIndex = index, step = 1; while (true) { if (newKeys[index = SeparateKVObjKeyMixing.mix(nullableKeyHashCode(key)) % capacity] != FREE) { int bIndex = index, fIndex = index, step = 1; while (true) {