Я пытался реализовать неориентированный граф, используя HashMap из ArrayList, чтобы представить список смежности. Тем не менее, я получил ошибку исключения нулевого указателя при инициализации списка смежности, в котором я не смог идентифицировать нулевой указатель. Извините за глупый вопрос, но я был бы признателен, если бы вы могли объяснить, почему происходит ошибка. Благодаря!java - NullPointerException в графе
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
}
}
И сообщение об ошибке:
Exception in thread "main" java.lang.NullPointerException
at UDGraph.<init>(UDGraph.java:15)
at UDGraph.main(UDGraph.java:20)
Вы не инстанцирован прил. Это значение равно нулю, когда вы пытаетесь нажать значение. – Ryan
add 'adj = new HashMap>();' в начале 'UDGraph' –
Я вижу ... Спасибо, Райан и Остин! – Fei