Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
图中的java-NullPointerException_Java_Nullpointerexception_Hashmap - Fatal编程技术网

图中的java-NullPointerException

图中的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

我试图使用ArrayList的HashMap来实现一个无向图,以表示邻接列表。然而,当我初始化邻接列表时,我得到了空指针异常错误,其中我无法识别空指针。很抱歉这个愚蠢的问题,但如果你能解释为什么会发生错误,我将不胜感激。谢谢

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。当您尝试推送一个值时,它为空。add
adj=newhashmap()
UDGraph
的开头,我看到了。。。谢谢瑞安和奥斯汀!