/
Skob.m.a
/
WorkSpace
Обзор
Документация
Войти
/
Skob.m.a
/
WorkSpace
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Task_27_1
76 строк
2 KB
Skob.m.a
create Task_27_1
22 дек 2024, 15:47
22 дек 2024, 15:47
391b0bd
Код
Авторство
О чём код?
import java.util.LinkedList; class HashTable { private static class Entry { String key; String value; Entry(String key, String value) { this.key = key; this.value = value; } } private LinkedList<Entry>[] table; private int size; public HashTable(int capacity) { table = new LinkedList[capacity]; for (int i = 0; i < capacity; i++) { table[i] = new LinkedList<>(); } size = 0; } private int hash(String key) { return Math.abs(key.hashCode() % table.length); } public void hashtabInit() { for (int i = 0; i < table.length; i++) { table[i].clear(); } size = 0; } public void hashtabAdd(String key, String value) { int index = hash(key); for (Entry entry : table[index]) { if (entry.key.equals(key)) { entry.value = value; return; } } table[index].add(new Entry(key, value)); size++; } public String hashtabLookup(String key) { int index = hash(key); for (Entry entry : table[index]) { if (entry.key.equals(key)) { return entry.value; } } return null; } public void hashtabDelete(String key) { int index = hash(key); Entry toRemove = null; for (Entry entry : table[index]) { if (entry.key.equals(key)) { toRemove = entry; break; } } if (toRemove != null) { table[index].remove(toRemove); size--; } } public int size() { return size; } }