У меня есть хэш-карта, которая использует линейное зондирование для решения конфликтов. Я хотел бы пройти его. Понятно, что это довольно просто, однако использование дженериков отталкивает меня.Traversing Hash Map linear using generics (Java)
Записи в внутреннем массиве хэш-карты имеют свои пары ключ-значение в качестве дженериков - как это
public entry(K key, V value) {
this.key = key;
this.value = value;
}
Эти записи хранятся в массиве ввода - как этот
private entry[] entries;
Я хотел бы пересечь хэш-карту, начиная с определенного ключа, я дойду до конца внутреннего массива, а затем вернусь к началу массива до ключа круговым способом, чтобы весь массив был покрыт.
public V traverse(K k) {
//look from current key
for(int i = (int)k; i < entries.length; i++){
//visit node
}
//go back to start, and look up to key
for(int i = 0; i < (int)k; i++){
//visit node
}
}
Я понял, что тип произнесения ключ как целое был своего рода глупо, но я изо всех сил, чтобы найти работающий способ на самом деле сделать это обход.
Ну, вам сначала нужно его найти ... Переверните «записи», пока не найдете тот, у которого есть .key == k', а затем используйте свой код. – Bakuriu