问候! 我在这里有一个问题,我找不到。Set Iterator&NullPointerException
我在我的DisjSet类代码的最后得到了一个NullPointerException,在sets.put(nodes_iter.next(), null);
。
我刚刚开始制作keySets的hashMaps等类似的东西,所以我认为可能有些东西我不知道。
感谢每awnser-
这里是代码:
我创建一个新的DisjSet:
DisjSet<T> ds = new DisjSet<T>(theGraph.keySet());
这里是theGraph我做的一键设置:
private Map< T, HashSet<Edge> > theGraph = new HashMap< T, HashSet<Edge> >();
以下是DisjSet类的相关部分:
import java.util.*;
public class DisjSet<K extends Comparable<? super K>>
{
//HashMap containing 1. K itself, 2. Ks parent. K no.2 is null if K has no parent
private HashMap<K,K> sets;
public DisjSet(Set<K> s)
{
if(s.isEmpty())
throw new IllegalStateException("Empty DisjSet argument");
Iterator<K> nodes_iter = s.iterator();
while(nodes_iter.hasNext())
sets.put(nodes_iter.next(), null);
}
(...)
}
是的,谢谢。我知道......我感到非常惭愧:p。一直盯着我的代码,所以我有点不专心:/ – 2011-02-27 19:33:28