public int putIfAbsent(String key) { final int hash = key.hashCode(); int index = hash & (entries.length - 1); Entry head = entries[index]; if (head != null) { Entry entry = head; do { if (hash == entry.hash && key.equals(entry.key)) return entry.index; entry = entry.next; } while (entry != null); if (size >= threshold) { index = hash & resize(entries.length * 2); head = entries[index]; } } entries[index] = new Entry(key, hash, size, head); size++; return -1; } }
public int putIfAbsent(Object key) { final int hash = System.identityHashCode(key); int index = hash & (entries.length - 1); Entry head = entries[index]; if (head != null) { Entry entry = head; do { if (key == entry.key) return entry.index; entry = entry.next; } while (entry != null); if (size >= threshold) { index = hash & resize(entries.length * 2); head = entries[index]; } } entries[index] = new Entry(key, hash, size, head); size++; return -1; } }
public int putIfAbsent(Object key) { final int hash = System.identityHashCode(key); int index = hash & (entries.length - 1); Entry head = entries[index]; if (head != null) { Entry entry = head; do { if (key == entry.key) return entry.index; entry = entry.next; } while (entry != null); if (size >= threshold) { index = hash & resize(entries.length * 2); head = entries[index]; } } entries[index] = new Entry(key, hash, size, head); size++; return -1; } }
public int putIfAbsent(String key) { final int hash = key.hashCode(); int index = hash & (entries.length - 1); Entry head = entries[index]; if (head != null) { Entry entry = head; do { if (hash == entry.hash && key.equals(entry.key)) return entry.index; entry = entry.next; } while (entry != null); if (size >= threshold) { index = hash & resize(entries.length * 2); head = entries[index]; } } entries[index] = new Entry(key, hash, size, head); size++; return -1; } }
public int putIfAbsent(String key) { final int hash = key.hashCode(); int index = hash & (entries.length - 1); Entry head = entries[index]; if (head != null) { Entry entry = head; do { if (hash == entry.hash && key.equals(entry.key)) return entry.index; entry = entry.next; } while (entry != null); if (size >= threshold) { index = hash & resize(entries.length * 2); head = entries[index]; } } entries[index] = new Entry(key, hash, size, head); size++; return -1; } }
public int putIfAbsent(Object key) { final int hash = System.identityHashCode(key); int index = hash & (entries.length - 1); Entry head = entries[index]; if (head != null) { Entry entry = head; do { if (key == entry.key) return entry.index; entry = entry.next; } while (entry != null); if (size >= threshold) { index = hash & resize(entries.length * 2); head = entries[index]; } } entries[index] = new Entry(key, hash, size, head); size++; return -1; } }