Я не очень опытный и пытаюсь справиться с коллизиями в моей хэш-таблице. тем не мение
Я не очень опытный и пытаюсь справиться с коллизиями в моей хэш-таблице. Тем не менее, он просто пропускает и не пишет вообще. Я рассчитал цикл while с условным условием if, если бы позаботился об этом... Я уже некоторое время играю с этим и чувствую, что все перепутал или сошел с ума.
File file = new File("info.txt");
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
temp = nhash.hashing(line,maxSize);
System.out.println(line + " " + " Hash key: " + temp);
int loc = (int)temp;
if(arr[loc] != null) // I FIGURED THIS WOULD SOLVE it
{ // THE ISSUE... But IT DOESN'T
while(arr[loc] != null) {
// System.out.println("Collision at [" + loc + "] with Data Item : [" + arr[loc] + "]");
loc++;
if(loc == maxSize)
loc = 0;
}
}else {
arr[loc] = line;
// System.out.println("Data Item[" + line + "] Stored in index [" + loc + "] of array.");
key[j] = loc;
j++;
}
}