Lista duplamente encadeada, dúvidas sobre células e outras coisa.. :)

Boa Noite galera… :stuck_out_tongue:

Estou fazendo um trabalho sobre listas encadeadas, mas estou com algumas dúvidas.

É o seguinte, preciso fazer um programa de um condominio, no caso eu crio as classes moradores e casas.

Eu preciso de uma lista de casas e em cada casa uma lista:
Assim:

Eu já criei uma classe célula e uma outra chamada lista, funcionando lindamente :slight_smile:
Mas estou com algumas dúvidas na parte téorica msmo.

Tanto as casas como os moradores tem seus atributos, vamos supor.
A casa chamada Verde de codigo 55, tem os moradores de João de codigo 02 e Pablo de codigo 03.

Eu crio uma lista em que a 1° célula é a casa e as células do lado dessa são cada morador. Aí vem uma pergunta:
Eu consigo armazenar o codigo e o nome de cada morador numa célula?
N estou conseguindo fazer isso, n sei se é possivel ou é erro de sintaxe.

Outra coisa, está correto isto? A img representa o certo?
Bom, por enquanto é isso… hehe
Vlw

Uhm… estou tentando conectar outra lista embaixo dessa, mas que a 1°celula, no casa a casa fique conectada a nova casa.

Não consegui ainda, mas consegui criar duas listas separada usando um for no Main e colocando a classe lista dentro da classe casa.
É possível conectar listas diferentes? Ou somente quando uma está conectada a outra?

Vlw²

Se sua classe do nó da lista (celula) for assim, consegue:

[code]public class No {
private No proximo;
private No anterior;
private Morador valor;

//gets e setters

}[/code]

uhm… ainda n consegui, o q eu fiz:

coloquei na classe assim:

class Casa{ //classe Casa
		public int cod_casa;
		public int quant_casa;
		public List<Morador> moradores;

Mas como fazer isso em um metodo na lista?

Eu tentei fazer algo, mas acho q é bem burro e n é oq eu preciso, criei um for na classe principal q chama os metodos. Aí eu consigo criar listas separadas,
mas o q eu quero é ligar a celula principal(Casa01) que tem uma lista de celulas q são os parametros dos moradores, e em baixo dessa celula, outras casas conforme o usuario queira… xP

Tem como vc me ajudar nisso?
Tó dando umas olhadas e testando, mas n tá funcionando… .--------.

Boa tarde,

tem melhor jeito de resolver esse tipo de problema, mas vc está tentando só com lista duplamente encadeada ?

Tipo , dentro de um metodo da lista, você pode fazer um metodo recebendo uma lista de moradores e

fazendo assim …


for(Morador morador : listaMoradores){ // Aqui vc passa a lista que recebeu ...
System.out.print(morador.getNome());
}

Espero que tenha te ajudado … :roll:

Obrigado por responder xD

Não precisa ser duplamente, é q eu acho q fica mais facil de manipular, mas ok… xD

Acho q um dos meus problemas é q estou um tanto confuso, o q eu fiz:

Criei 4 classes;
Uma classe Morador, outra Casa, outra Célula e por fim, criei uma classe Lista,
Nas classes, morador, casa e céula, criei os atributos, fiz um get e um set p/ cada atributo e alguns construtores.

A classe Lista tem muitos metodos, como inserirnocomeco, inserirnofim, inserirnoindice, remover…
Eu vou ler um arquivo de entrada.txt, tipo assim:

CONSULTAR 0000 0000 REMOVER 0000 0000 INSERIR 0000 0000 mvubbgemlo CONSULTAR 0000 0001 CASA 0000 kiaeutw ulwnt 17032011 201441 8 CASA 0001 bovftfdmyx itwcsxurvh 04102011 134309 13 REMOVER 0000 0000 CASA 0002 zhbvmxtvgk nmhuyuunx 17042011 113619 0 INSERIR 0003 0001 arkek

É gerado aleatoriamente, vou ler linha por linha,
O INSERIR, é a inserção dos moradores, o da CASA, é a criação de uma nova lista chamada Casa.

O q eu tó fazendo é inserir uma nova celula na lista, qdo no principal eu faço:

[code]class Principal {
public static void main(String[] args) {
try {

		Lista lista = new Lista();
		
		
		lista.inserirComeco("zero","gol");
		lista.inserirFim(4);

[/code]

Mas acho q num é isso… :oops:

Tó mais perdido q cego em tiroteio, como o Vini sugeriu, eu devo criar uma variavel Morador na classe célula, criar um metodo inserirListaCasa e chamar uam lista morador?
Eu deveria criar mais uma lista?

Tipo, uma classe ListaMorador e outra ListaCasa? Colocar a listamorador dentro da listacasa e dentro da lista casa colocar uma classe q cria as celulas?
Eu tava pensando em fazer isso… :stuck_out_tongue:

Como irei inserir linha por linha, n precisaria do for num é?
xP

Obgdo por me ajudar
\o