Я должен создать цепочку хеш-таблицы, чтобы помещать имена в каждое ведро в качестве связанного списка. Я знаю, как это сделать с ведрами, которые содержат одно значение, но я не знаю, как поместить список ссылок в каждое ведро. У меня есть класс человека с именем и фамилией, а также с классом hashcode. Я написал удалить, но я не уверен, как поместить LinkedList в метод. У меня также есть класс bucketList; это где мне нужно реализовать LinkedList? Если я смогу получить некоторые указания о том, что делать с методами удаления или размещения, я должен уметь выяснить, как это сделать. СпасибоChain Hash Table Список ссылок
public class MyChainHashTable<K, V> {
private static final int BUCKET_COUNT = 10;
private BucketList[] buckets = new BucketList[BUCKET_COUNT];
private void remove(K key, V value) {
int bucketIndex = key.hashCode(); //TODO
int bucketsProbed = 0;
while (!buckets[bucketIndex].isEmptySinceStart() && bucketsProbed < BUCKET_COUNT) {
// if this bucket isn't empty, and it matches what we're looking for
if (!buckets[bucketIndex].isEmpty()
&& buckets[bucketIndex].getElement().equals(value)) {
buckets[bucketIndex].clear();
return;
}
bucketsProbed++;
bucketIndex++;
bucketIndex %= BUCKET_COUNT; // circle back to 0
}
}
private boolean put(K key, V value) {
return false;
}
private void showTable() {
// old phone UI
String[] keyBoard = {"1 ", "2 ABC", "3 DEF", "4 GHI", "5 JKL",
"6 MNO", "7 PRS", "8 TUV", "9 WXY", "0 "};
}
Ваш код для меня не имеет большого смысла. Почему вы объявили 'buckets' в виде массива buckit ** lists **? И как объявлен «BucketList»? –
В обычной хэш-таблице Java каждое ведро - это просто место, где вы помещаете первое звено хэшхеина. Поэтому массив 'buckets' должен быть' HashChainNode [] ' –
BucketList в общем –
Rawsick