How do nested arrays such as IntDict[] work? (Processing 3.5.4)

How do I properly invoke array commands such as append() on an IntDict[] array? For example, this is my current sketch testing such a thing:

IntDict[] dictArray;
void setup() {
  size(1400, 1000);
  /*properly initialized or not?*/
  dictArray = new IntDict[2];
  append(dictArray, new IntDict());
  /*when the compiler stops*/
  dictArray[1].set("dictVar", 0);
}

void draw() {
  println(dictArray[1].get("dictVar"));
}

The error the console gives me is ‘NullPointerException.’ The sketch window is unresponsive. How do I rewrite the above code?

forum.Processing.org/two/discussion/8080/why-use-arraylist-instead-of-array-with-append

static final int ROWS = 2;
final IntDict[] dictArray = new IntDict[ROWS];

void setup() {
  for (int i = 0; i < ROWS; dictArray[i++] = new IntDict());
  dictArray[1].set("dictVar", 0);
  println(dictArray[1].get("dictVar")); // 0
  exit();
}