Как вызвать метод (Object o) в том же классе в Hashtable - PullRequest
0 голосов
/ 17 мая 2018

Я запутался, как вызывать метод, который возвратил ключ в том же классе, на самом деле я хочу реализовать Hashtable. Итак, Hashtable, который сохраняет ключ из метода hashrealCode(Employee e), используя Java.Lang.Object. это невозможно?

для моего класса объектов

public class Employee {   // I created this class to prepare the Object
int id;
String name;
    public Empployee(int id, String name) {
    this.id = id;
    this.name = name;
}

public int hashCode() {
    final int Number = 31;
    int result = 1;
    result = Number * result + id;
    result = Number * result + ((name == null) ? 0 : name.hashCode());
    return result;
}

public int id() {
    return id;
}
public void setId(int Id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

 }

и в этом классе я хочу добавить ключ к моей Hashtable (Array)

public class HashTableEmployee {
Employee[] array;

public void addTheEmployee(Employee e){
        for(int i = 0; i < array.length; i++) { 
            array[i] =  hashrealCode(Employee e) //??? I just want to save the key form Method-hashrealCode(Employee e) to my array, but it didnt work 
        }
}

public Employee[] getArray(){
    return array;
}

public void setArray(Employee[] array){
    this.array = array;
}


public int hashrealCode(Employee e){  //create my own key
    int hash_value = Math.abs(e.hashCode()) % array.length;
    return hash_value;  //I want to save this hashCode in my array 
}


public Employee(int capacity){  // for the length of Array
    array = new Employee[capacity];
}

   }

Так, как я не могу сохранить ключ (Method-hashrealCode) в моем массиве, который я создал в методе? когда я пытался вызвать метод, он не работал

...