/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public void forEach(final BiConsumer<? super K, ? super V> consumer) { final Object[] entries = this.entries; final int length = entries.length; for (int keyIndex = 0; keyIndex < length; keyIndex += 2) { if (entries[keyIndex + 1] != null) // lgtm [java/index-out-of-bounds] { consumer.accept( (K)entries[keyIndex], unmapNullValue(entries[keyIndex + 1])); // lgtm [java/index-out-of-bounds] } } }
public V get(final Object key) { return unmapNullValue(getMapped(key)); }
/** * {@inheritDoc} */ public String toString() { if (isEmpty()) { return "{}"; } final EntryIterator entryIterator = new EntryIterator(); entryIterator.reset(); final StringBuilder sb = new StringBuilder().append('{'); while (true) { entryIterator.next(); sb.append(entryIterator.getKey()).append('=').append(unmapNullValue(entryIterator.getValue())); if (!entryIterator.hasNext()) { return sb.append('}').toString(); } sb.append(',').append(' '); } }
/** * {@inheritDoc} */ public V remove(final Object key) { final Object[] entries = this.entries; final int mask = entries.length - 1; int keyIndex = Hashing.evenHash(key.hashCode(), mask); Object oldValue = null; while (entries[keyIndex + 1] != null) { if (entries[keyIndex] == key || entries[keyIndex].equals(key)) { oldValue = entries[keyIndex + 1]; entries[keyIndex] = null; entries[keyIndex + 1] = null; size--; compactChain(keyIndex); break; } keyIndex = next(keyIndex, mask); } return unmapNullValue(oldValue); }
return unmapNullValue(oldValue);
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public void forEach(final BiConsumer<? super K, ? super V> consumer) { final Object[] entries = this.entries; final int length = entries.length; for (int keyIndex = 0; keyIndex < length; keyIndex += 2) { if (entries[keyIndex + 1] != null) // lgtm [java/index-out-of-bounds] { consumer.accept( (K)entries[keyIndex], unmapNullValue(entries[keyIndex + 1])); // lgtm [java/index-out-of-bounds] } } }
public V get(final Object key) { return unmapNullValue(getMapped(key)); }
/** * {@inheritDoc} */ public V remove(final Object key) { final Object[] entries = this.entries; final int mask = entries.length - 1; int keyIndex = Hashing.evenHash(key.hashCode(), mask); Object oldValue = null; while (entries[keyIndex + 1] != null) { if (entries[keyIndex] == key || entries[keyIndex].equals(key)) { oldValue = entries[keyIndex + 1]; entries[keyIndex] = null; entries[keyIndex + 1] = null; size--; compactChain(keyIndex); break; } keyIndex = next(keyIndex, mask); } return unmapNullValue(oldValue); }
/** * {@inheritDoc} */ public String toString() { if (isEmpty()) { return "{}"; } final EntryIterator entryIterator = new EntryIterator(); entryIterator.reset(); final StringBuilder sb = new StringBuilder().append('{'); while (true) { entryIterator.next(); sb.append(entryIterator.getKey()).append('=').append(unmapNullValue(entryIterator.getValue())); if (!entryIterator.hasNext()) { return sb.append('}').toString(); } sb.append(',').append(' '); } }
return unmapNullValue(oldValue);