我在我正在实现的跳过列表的搜索方法中不断看到空指针异常。
public V find(K key, SkiplistMapNode<K,V> header, int level){
SkiplistMapNode<K,V> N = header;
for (int i = level-1; i >= 0; i--){
if ((N != null) && (N.getNext()[i] != null)){
while (N.getNext()[i].getKey().compareTo(key) < 0){
N = N.getNext()[i];
}
}
}
N = N.getNext()[0];
if ((N != null) && (N.getKey().compareTo(key) == 0)) return N.getValue();
else return null;
}
例外的行是:
while (N.getNext()[i].getKey().compareTo(key) < 0)
我几乎从这个页面复制了这个,所以我不确定它会有什么问题。