title: Java nullpointerException when initializing an arraylist
body: <p>I tried to build the node object with a arraylist element for adding child node, and initialized successfully. However when i tried to add nodes into the arraylist the exception happened. How to solve the problem?</p>
  <pre><code> public class nodes{
   int value=-2;
   boolean root=false;
   nodes parent;
   ArrayList&lt;nodes&gt;Children;
   public nodes(int value,ArrayList Children) {
       this.value=value;
       this.Children=Children;
   }
   public void setParent(nodes parent) {
       this.parent=parent;
   }
   public void Add(nodes child) {
      this.Children.add(child);
   }
     }
      public class TreeHeight {
          
          int n;
          int parent[];
          
          nodes Nodes[];
          void read() throws IOException {
              FastScanner in = new FastScanner();
              n = in.nextInt();
              ArrayList[]Children=new ArrayList[n];
              parent = new int[n];//parent is an array that contains all elements
          
              
              Nodes=new nodes [n];
              for (int i = 0; i &lt; n; i++) {
                  //parent[i]= ;
                  //index[i]=i;
                  Nodes[i]=new nodes(in.nextInt(),Children[i]);
              
                  
              }
              //Nodes[0].Add(Nodes[1]);
              for (int vertex = 0; vertex &lt; n; vertex++) {
                  if(Nodes[vertex].value==-1) {Nodes[vertex].root=true;
                  }
  for(int j=0;j&lt;n;j++) {
      if(Nodes[j].value==vertex) {
          Nodes[j].setParent(Nodes[vertex]);
          Nodes[vertex].Add(Nodes[j]);
  
      }
  }
                  }
          }
      
  </code></pre>