Problemas com ArrayList encadeados

4 respostas
F

:grin: Olá companheiros, preciso da vossa ajuda!

Estou criando 1 ArrayList “Pasta” q contem objectos de um tipo “Arquivo”, e criando o Outro arrayList “Arvore” q contem Objetos do tipo ArrayList “Pasta”, de modo a inserir o primeiro arraylist no segundo, OK!

o Objeto tipo X tem métodos públicos, q serãao usados durante um certo momento.
MAs o probelma ocorre qdo tento acessar o conteúdo do array list com o método get(index).

Ex: Arvore.get(index).get(index).métodosPublicos().
Equivalente a Arvore().Pasta().métodosDaPasta().

Porém as opções do segundo get(index) q seria a referência ao conteúdo do arrayList Pasta, não estão aparecendo como acessíveis.

O q pode estar errado.?
Não posso utilizar os get(index) em cascata?

Se alguém puder me esclarecer como devo fazer,

Obrigado!

PS: (meu código)

ArrayList<Tipo Arquivo> pasta;

ArrayList<Tipo ArrayList> arvore;

arvore.add(pasta.add(Arquivo));

arvore.get(i).get(0).??? essa parte não me mostra os métodos publicos do Objeto tipo Arquivo, já criado.

4 Respostas

J

Veja se você está fazendo assim, se for tem que dar certo:

ArrayList&lt;Arquivo&gt; pasta = new ArrayList&lt;Arquivo&gt;&#40;&#41;;

pasta.add&#40;new Arquivo&#40;&#41;&#41;;

ArrayList&lt;ArrayList&lt;Arquivo&gt;&gt; arvore = new ArrayList&lt;ArrayList&lt;Arquivo&gt;&gt;&#40;&#41;;

arvore.add&#40;pasta&#41;;

arvore.get&#40;1&#41;.get&#40;1&#41;.metodo&#40;&#41;;

Meio cabuloso isso não? Nao seria mais interessante criar classes pra isso?

F

Como assim?

Já existem classes, o objeto ARquivo e o objeto Pasta são de classes q eu criei. depois tenho q usar estes objetos alocados em forma de arraylist para poder controlar a sequência sem usar apontadores, como faria no C++…

tem uma maneira melhor? por fvr me ensine… =) estou fazendo um trab com um código desse tipo e preciso fazer o mais rápido q conseguir…rsrsrs

valew a ajuda!

abraços.

J

Tem certeza?

O objeto arquivo é da classe Arquivo, que você criou, mas pasta é um ArrayList, pra usar os metodos do jeito que você quer, você tem que tipificar o ArrayList pra ele guardar exatamente o que você quer, no caso o ArrayList pasta, tem objetos da classe Arquivo e o ArrayList arvore tem objetos ArrayList<Arquivo>… a ideia é essa que passei aí mesmo, ou talvez fosse interessante criar outras classes pra isso aí, como Pasta, Arvore, etc…

F

Ok.

obrigado, vou tentar e ver o q funciona melhor.

Abraços!! :razz:

Criado 9 de junho de 2006
Ultima resposta 20 de jun. de 2006
Respostas 4
Participantes 2