我正在做一个项目,我必须使用单独的链接创建自己的哈希表以跟踪条目。
是否绝对有必要使用SinglyLinkedList来实现单独的链接,或者我可以像这样创建我的构造函数(考虑到我已经准备好了一个单独的Node类)。
Node[] arr;
private static final int TABLE_SIZE = 101;
public HashTable() {
arr = new Node[TABLE_SIZE];
}
答案 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;