V get(Object key1, Object key2, Object key3, Object key4, int hash) { if (count != 0) { // read-volatile HashEntry<K, V> e = getFirst(hash); while (e != null) { if ((e.hash == hash && key1.equals(e.key1)) && ((key2 == null && e.key2 == null) || (key2 != null && key2.equals(e.key2))) && ((key3 == null && e.key3 == null) || (key3 != null && key3.equals(e.key3))) && ((key4 == null && e.key4 == null) || (key4 != null && key4.equals(e.key4)))) { V v = e.value; if (v != null) { return v; } return readValueUnderLock(e); // recheck } e = e.next; } } return null; }
V get(Object key1, Object key2, Object key3, Object key4, int hash) { if (count != 0) { // read-volatile HashEntry<K, V> e = getFirst(hash); while (e != null) { if ((e.hash == hash && key1.equals(e.key1)) && ((key2 == null && e.key2 == null) || (key2 != null && key2.equals(e.key2))) && ((key3 == null && e.key3 == null) || (key3 != null && key3.equals(e.key3))) && ((key4 == null && e.key4 == null) || (key4 != null && key4.equals(e.key4)))) { V v = e.value; if (v != null) { return v; } return readValueUnderLock(e); // recheck } e = e.next; } } return null; }
V get(Object key1, Object key2, Object key3, Object key4, int hash) { if (count != 0) { // read-volatile HashEntry<K, V> e = getFirst(hash); while (e != null) { if ((e.hash == hash && key1.equals(e.key1)) && ((key2 == null && e.key2 == null) || (key2 != null && key2.equals(e.key2))) && ((key3 == null && e.key3 == null) || (key3 != null && key3.equals(e.key3))) && ((key4 == null && e.key4 == null) || (key4 != null && key4.equals(e.key4)))) { V v = e.value; if (v != null) { return v; } return readValueUnderLock(e); // recheck } e = e.next; } } return null; }
boolean containsValue(Object value) { if (count != 0) { // read-volatile HashEntry[] tab = table; int len = tab.length; for (int i = 0; i < len; i++) { for (//noinspection unchecked HashEntry<K, V> e = (HashEntry<K, V>) tab[i]; e != null; e = e.next) { V v = e.value; if (v == null) // recheck { v = readValueUnderLock(e); } if (value.equals(v)) { return true; } } } } return false; }
boolean containsValue(Object value) { if (count != 0) { // read-volatile HashEntry[] tab = table; int len = tab.length; for (int i = 0; i < len; i++) { for (//noinspection unchecked HashEntry<K, V> e = (HashEntry<K, V>) tab[i]; e != null; e = e.next) { V v = e.value; if (v == null) // recheck { v = readValueUnderLock(e); } if (value.equals(v)) { return true; } } } } return false; }
boolean containsValue(Object value) { if (count != 0) { // read-volatile HashEntry[] tab = table; int len = tab.length; for (int i = 0; i < len; i++) { for (//noinspection unchecked HashEntry<K, V> e = (HashEntry<K, V>) tab[i]; e != null; e = e.next) { V v = e.value; if (v == null) // recheck { v = readValueUnderLock(e); } if (value.equals(v)) { return true; } } } } return false; }
boolean containsValue(Object value) { if (count != 0) { // read-volatile HashEntry[] tab = table; int len = tab.length; for (int i = 0; i < len; i++) { for (//noinspection unchecked HashEntry<K, V> e = (HashEntry<K, V>) tab[i]; e != null; e = e.next) { V v = e.value; if (v == null) // recheck { v = readValueUnderLock(e); } if (value.equals(v)) { return true; } } } } return false; }
V get(Object key1, Object key2, Object key3, Object key4, int hash) { if (count != 0) { // read-volatile HashEntry<K, V> e = getFirst(hash); while (e != null) { if ((e.hash == hash && key1.equals(e.key1)) && ((key2 == null && e.key2 == null) || (key2 != null && key2.equals(e.key2))) && ((key3 == null && e.key3 == null) || (key3 != null && key3.equals(e.key3))) && ((key4 == null && e.key4 == null) || (key4 != null && key4.equals(e.key4)))) { V v = e.value; if (v != null) { return v; } return readValueUnderLock(e); // recheck } e = e.next; } } return null; }