Lista de lista

como eu faço para criar uma lista de lista igual no C?
Eu uma classe externa chamada Estado

public class Estado { String[] posicao; String[] operacao; }
e eu quero criar na classe principal uma lista de listas do tipo estado:

[code]import java.awt.List;
import java.util.ArrayList;

public class Principal {

public Estado EstInicial = new Estado();
public Estado EstFinal = new Estado();
public List lista = new List();
public List lista_estados = new List();
public List<List> open = new List<List>(); //Retornar lista de lista do tipo Estado
public List close = new List();
public int posOp = 0;

public void Principal(){
	
}

public void MostraEstado(Estado e){
	int aux = 0;
	System.out.println("Posição: ");
	for (aux = 0; aux <= 4; aux++){
		System.out.println(e.posicao[aux]);
	}
	System.out.println("Operação: "+e.operacao);
}

public List F_GeraFilhos (Estado e){
	Estado e2 = new Estado();
	lista.clear();
	e2 = e;
	int aux = 0;
	int aux2 = 0;
	String[] x;
	String[] y;
	while (!e.posicao[aux].equals("V")){
		aux++;
	}
	aux2 = aux;
	
	//DESLIZA PARA A DIREITA
	if (aux <= 3){
		e.posicao[aux] = e.posicao[aux+1];
		e.operacao[posOp] = "Deslize para direita";
		if (aux < 4){
			e.posicao[aux + 1] = "V";
		}
		posOp++;
	}
	
	e = e2;
	aux = aux2;
	
	//DESLIZA PARA A ESQUERDA
	if (aux >= 1){
		e.posicao[aux] = e.posicao[aux-1];
		e.operacao[posOp] = "Deslize para esquerda";
		if (aux <= 4){
			e.posicao[aux - 1] = "V";
		}
		posOp++;
	}
	
	e = e2;
	aux = aux2;
	
	//PULA PARA A DIREITA
	if (aux <= 2){
		e.posicao[aux] = e.posicao[aux+2];
		e.operacao[posOp] = "Pule para direita";
		if (aux < 4){
			e.posicao[aux + 2] = "V";
		}
		posOp++;
	}
	
	e = e2;
	aux = aux2;		
	
	//PULA PARA A ESQUERDA
	if (aux < 1){
		e.posicao[aux] = e.posicao[aux-2];
		e.operacao[posOp] = "Pule para esquerda";
		if (aux <= 4){
			e.posicao[aux - 2] = "V";
		}
		posOp++;
	}

// e = e2;
// aux = aux2;

	return lista;
}

boolean F_BuscaRepetida (List lista_atual, Estado e){
	
	
	return(false);
}

}[/code]

so que quando eu tento fazer isso, da um erro assim:
"The type List is not generic; it cannot be parameterized with arguments "
Como que eu faria essa lista de lista??? :?

Olá tudo bem ?
Olha só, pude perceber que a classe List do pacote awt que vc está usando não possui um construtor generico. Por isso vc está recebendo este erro, justamente por causa da linha 11.
Dá uma olhadinha na API e cuidado pra não confundir os pacotes, classes e interfaces. Tendo em vista que existe uma interface List do pacote util, que pode ser generica.

Abraços,
Rulio Vangellis.

Dê o
import java.util.List

E então faça:

List&lt;List&gt;&lt;Estado&gt;&gt; estados = new ArrayList&lt;ArrayList&gt;&lt;Estado&gt;&gt;();