Pessoal estou com uma dúvida em relação ao uso de listas. Estou precisando fazer uma lista de adjacencia, para isso pensei na idéia de colocar dentro de um arraylist uma lista de modo que cada posição deste arraylist receberá uma lista ou nenhuma. Ah, lembrando que trata-se de uma lista de inteiros. Já fiz parte do código, mas não consigo acessar a lista correta na hora da inserção de elementos. Como faço isso? Abaixo está parte do código que estou usando, não sei se está correto o uso, se puderem dár uma olhada eu agradeço muito.
Classe ListaAdjacencia e seu construto
public class ListaAdjacencia implements Grafo{
ArrayList<Integer> lista;
List<List<Integer>> listaAdjacencia;
public ListaAdjacencia(int numVertice){
this.listaAdjacencia = new ArrayList<List<Integer>>();
this.listaAdjacencia = geraListas(numVertice);
}
Método privado que cria as listas e adiciona no array
private List<List<Integer>> geraListas(int dimensao){
int i = 0;
while(i < dimensao){
this.lista = new ArrayList<Integer>();
this.listaAdjacencia.add(this.lista);
i++;
}
return this.listaAdjacencia;
}
Método onde tento inserir elementos, sendo a origem a lista qual devo inserir e o destinho o valor a ser inserido
public void adicionarAresta(Vertice origem, Vertice destino){
this.listaAdjacencia.add(origem.id(), this.lista.add(destino.id()));
}
Esse último método fica marcado como se tivesse algum erro, mas não sei qual.
