图中的java-NullPointerException
我试图使用ArrayList的HashMap来实现一个无向图,以表示邻接列表。然而,当我初始化邻接列表时,我得到了空指针异常错误,其中我无法识别空指针。很抱歉这个愚蠢的问题,但如果你能解释为什么会发生错误,我将不胜感激。谢谢图中的java-NullPointerException,java,nullpointerexception,hashmap,Java,Nullpointerexception,Hashmap,我试图使用ArrayList的HashMap来实现一个无向图,以表示邻接列表。然而,当我初始化邻接列表时,我得到了空指针异常错误,其中我无法识别空指针。很抱歉这个愚蠢的问题,但如果你能解释为什么会发生错误,我将不胜感激。谢谢 import java.util.HashMap; import java.util.ArrayList; public class UDGraph { //ajacency list implementation private final int V
import java.util.HashMap;
import java.util.ArrayList;
public class UDGraph { //ajacency list implementation
private final int V;
private int E;
private HashMap<Integer, ArrayList<Integer>> adj;
public UDGraph(int V) {
this.V = V;
this.E = 0;
for (int v = 0; v < V; v++) {
Integer vertice = new Integer(v);
ArrayList<Integer> list = new ArrayList<Integer>();
adj.put(vertice, list); //LINE 15
}
}
public static void main(String[] args) {
UDGraph graph = new UDGraph(5); //LINE 20
}
}
import java.util.HashMap;
导入java.util.ArrayList;
公共类UDGraph{//ajacency列表实现
私人终审法院;
私人互联网;
私有HashMap;
公共UDGraph(int V){
这个,V=V;
这一点。E=0;
对于(int v=0;v
以及错误消息:
Exception in thread "main" java.lang.NullPointerException
at UDGraph.<init>(UDGraph.java:15)
at UDGraph.main(UDGraph.java:20)
线程“main”java.lang.NullPointerException中的异常
在UDGraph.(UDGraph.java:15)
位于UDGraph.main(UDGraph.java:20)
您只需要在hashmap上调用new
hashmap adj=newhashmap()代码>您尚未实例化adj。当您尝试推送一个值时,它为空。addadj=newhashmap()代码>在UDGraph
的开头,我看到了。。。谢谢瑞安和奥斯汀!