单独的链接实现

时间:2014-07-19 04:38:57

标签: java

我正在做一个项目,我必须使用单独的链接创建自己的哈希表以跟踪条目。

是否绝对有必要使用SinglyLinkedList来实现单独的链接,或者我可以像这样创建我的构造函数(考虑到我已经准备好了一个单独的Node类)。

Node[] arr;
private static final int TABLE_SIZE = 101;

public HashTable() {
    arr = new Node[TABLE_SIZE];
}

1 个答案:

答案 0 :(得分:0)

是的,您可以将其声明为Node的数组 SinglyLinkedList只是一个包装器,它包含一些引用列表第一个节点的方法。使用一组节点,您可以使用自己的方法迭代它们以实现相同的功能。例如,您的find方法可能如下所示:

Node n = arr[obj.hashCode() % TABLE_SIZE];
while (n != null) {
    if(n.key.equals(obj)) return n.value;
    n = n.next;
}
return null;