private void resize(int newSize) { TableEntry[] oldTable = myTable; myTable = new TableEntry[newSize]; for (int i = 0; i < oldTable.length; i++) { TableEntry oldEntry = oldTable[i]; while (oldEntry != null) { int index = indexForHash(oldEntry.hash); TableEntry newEntry = myTable[index]; if (newEntry == null) { myTable[index] = oldEntry; } else { while (newEntry.next != null) { newEntry = newEntry.next; } newEntry.next = oldEntry; } TableEntry nextEntry = oldEntry.next; oldEntry.next = null; oldEntry = nextEntry; } } }
private void resize(int newSize) { TableEntry[] oldTable = myTable; myTable = new TableEntry[newSize]; for (int i = 0; i < oldTable.length; i++) { TableEntry oldEntry = oldTable[i]; while (oldEntry != null) { int index = indexForHash(oldEntry.hash); TableEntry newEntry = myTable[index]; if (newEntry == null) { myTable[index] = oldEntry; } else { while (newEntry.next != null) { newEntry = newEntry.next; } newEntry.next = oldEntry; } TableEntry nextEntry = oldEntry.next; oldEntry.next = null; oldEntry = nextEntry; } } }
private void resize(int newSize) { TableEntry[] oldTable = myTable; myTable = new TableEntry[newSize]; for (int i = 0; i < oldTable.length; i++) { TableEntry oldEntry = oldTable[i]; while (oldEntry != null) { int index = indexForHash(oldEntry.hash); TableEntry newEntry = myTable[index]; if (newEntry == null) { myTable[index] = oldEntry; } else { while (newEntry.next != null) { newEntry = newEntry.next; } newEntry.next = oldEntry; } TableEntry nextEntry = oldEntry.next; oldEntry.next = null; oldEntry = nextEntry; } } }
public Object get(Object key) { key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; while (entry != null) { if (hash == entry.hash && eq(key, entry.key)) { return entry.value; } entry = entry.next; } return null; }
public Object get(Object key) { key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; while (entry != null) { if (hash == entry.hash && eq(key, entry.key)) { return entry.value; } entry = entry.next; } return null; }
public Object get(Object key) { key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; while (entry != null) { if (hash == entry.hash && eq(key, entry.key)) { return entry.getValue(); } entry = entry.next; } return null; }
public Object remove(Object key) { if (isEmpty()) { return null; } key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; TableEntry previousEntry = null; while (entry != null) { if (entry.hash == hash && entry.key.equals(key)) { if (previousEntry != null) { previousEntry.next = entry.next; } else { myTable[index] = entry.next; } myEntryCount--; myModCount++; return entry.getValue(); } previousEntry = entry; entry = entry.next; } return null; }
public Object remove(Object key) { if (isEmpty()) { return null; } key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; TableEntry previousEntry = null; while (entry != null) { if (entry.hash == hash && entry.key.equals(key)) { if (previousEntry != null) { previousEntry.next = entry.next; } else { myTable[index] = entry.next; } myEntryCount--; myModCount++; return entry.getValue(); } previousEntry = entry; entry = entry.next; } return null; }
public boolean containsKey(Object key) { if (isEmpty()) { return false; } key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; while (entry != null) { if (entry.hash == hash && eq(key, entry.key)) { return true; } entry = entry.next; } return false; }
public boolean containsKey(Object key) { if (isEmpty()) { return false; } key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; while (entry != null) { if (entry.hash == hash && eq(key, entry.key)) { return true; } entry = entry.next; } return false; }
public Object remove(Object key) { if (isEmpty()) { return null; } key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; TableEntry previousEntry = null; while (entry != null) { if (entry.hash == hash && entry.key.equals(key)) { if (previousEntry != null) { previousEntry.next = entry.next; } else { myTable[index] = entry.next; } myEntryCount--; myModCount++; return entry.getValue(); } previousEntry = entry; entry = entry.next; } return null; }
public boolean containsKey(Object key) { if (isEmpty()) { return false; } key = key == null ? NULL_KEY : key; int hash = hashCode(key); int index = indexForHash(hash); TableEntry entry = myTable[index]; while (entry != null) { if (entry.hash == hash && eq(key, entry.key)) { return true; } entry = entry.next; } return false; }
int index = indexForHash(hash);
int index = indexForHash(hash);
int index = indexForHash(hash);