Avrei un problema: questo è il mio codice

List[] lista = new ArrayList[2];
int j = 0;
int ind_list = 0;
for ( i = 0; i < array.length; i++) { // copio l'array nell'array di liste
lista[j].add(ind_list, array[i]);
ind_list++;
if ( array[i]==0 ) {
j++;
ind_list = 0;
}
}

In sostanza, voglio copiare gli elementi di un array nell'array di liste, il carattere 0 separa tra loro le liste.
Per esempio, se l'array è

1 2 3 0 3 2 1 0

lista sarà formato da due liste:

1 2 3 0
3 2 1 0

Il problema è che in corrispondenza di questa riga di codice

lista[j].add(ind_list, array[i]);

mi viene stampata questa eccezione:

Exception in thread "main" java.lang.NullPointerException
at Dpll.main(Dpll.java:169)

Sapete aiutarmi?