在尝试为HashTable构建自己的迭代器时,我遇到了一个简单的NullPointerException问题,我想知道这是否是正确的方法。我似乎在代码的allEntries.add部分遇到错误。任何帮助都会非常感激!!
public class HashIterator implements Iterator<HashNode<K,V> > {
HashLinkedList<K,V> allEntries;
/**
* Constructor: make a linkedlist (HashLinkedList) 'allEntries' of all the entries in the hash table
*/
public HashIterator()
{
// ADD YOUR CODE BELOW HERE
for (int i=0; i<numBuckets; i++) {
HashLinkedList<K,V> currentBucket = buckets.get(i);
HashNode<K,V> curNode = currentBucket.getHead();
while (curNode != null) {
allEntries.add(curNode.getKey(), curNode.getValue());
curNode = curNode.getNext();
}
}
// ADD YOUR CODE ABOVE HERE
}
答案 0 :(得分:0)
行。在使用之前,您不会初始化allEntries
。
您需要执行类似
的操作allEntries = new HashLinkedList<>();