Problema com essa lógica

Olá pessoal,
estou com o seguinte problema.

Eu tenho uma grande arrayList com outros ArrayLists dentro dele. Por exemplo:

Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste
Empresa de Teste | Diretoria de teste | UN de teste | UR de teste 2 | teste 2
Empresa de Teste 2 | Diretoria de teste | UN de teste | UR de teste 2 | teste 2

Eu preciso deixar neste formato:

Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste
espaço em branco | espaço em branco | espaço em branco | UR de teste 2 | teste 2
Empresa de Teste 2 | Diretoria de teste | UN de teste | UR de teste 2 | teste 2

Ou seja, para prefixos iguais eu coloco um espaço em branco nesse novo ArrayList deixando eles juntos.

Eu pensei em fazer da seguinte forma:

1 - Iterar pela lista de entrada
2 - listaDeSaida.add(lista retornada em 1);
2 - Iterar novamente pela lista de entrada
3 - Iterar pelos elementos do array da lista de entrada
4 - ArrayList novaListaParaSaberSeEhSubLista.Add(elemento);
5 - guardaAnterior = novaListaParaSaberSeEhSubLista;
6 - Se o novaListaParaSaberSeEhSubLista NAO é sublista da lista mais externa (1)
7 - entao
8 - Se (novaListaParaSaberSeEhSubLista.size > 1)
9 - listaDeSaida.add(guardaAnterior);
10 - Senao
11 - guardaAnterior = novaListaParaSaberSeEhSubLista;

Alguem teria alguma ideia melhor ou mais simples?

Puxa ninguem pessoal? :confused:

          ixiiiiii

Acho bom vc começar a pesquisar e tentar resolver,o povo aq não é mole.
Se for vb ou delphi,nossaaa ai a gente faz a festa,rsrs…
Tem tudo no jeito.

É…,rapadura é doce mas não é mole não.

Boa tarde.

Você tem algo implementado?
Não consegui compreender bem a sua necessidade mas talvez um Map pudesse ser útil ao seu caso.

Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste

Os | seria ou? ou barra?
São Objetos (Uma classe) ou Strings?

E o que quis dizer com prefixos iguais? Prefixo de uma palavra no inicio de sua frase?
Abraços.

Olá,

na verdade era só pra representar a minha estrutura

[0]Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste
[1]Empresa de Teste | Diretoria de teste | UN de teste | UR de teste 2 | teste 2
[2]Empresa de Teste 2 | Diretoria de teste | UN de teste | UR de teste 2 | teste 2

Ou seja, eu tenho um ArrayList que possui esses tres ArrayList sendo que esse ArrayList
possui cada um 5 Strings, ou seja, ocupam 5 posições do meu ArrayList mais interno.

Portanto, tem-se um ArrayList maior com 3 ArrayLists dentro que possui 5 posições de String
nessa ordem indicada.

Eu preciso imprimir branco nos repetidos, ou seja, criar um outro ArrayList com brancos
ao inves do nome repetido.

Para o exemplo ficaria:

[0]Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste
[1]"" | “” | “” | UR de teste 2 | teste 2
[2]Empresa de Teste 2 | Diretoria de teste | UN de teste | UR de teste 2 | teste 2

Mas apenas os prefixos.

Outro exemplo:

[0]Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste
[1]Empresa de Teste | Diretoria de teste | UN de teste | UR de teste 2 | teste 2
[2]Empresa de Teste 2 | Diretoria de teste | UN de teste | UR de teste 2 | teste 2
[3]Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste 5

Ficaria:

Empresa de Teste | Diretoria de teste | UN de teste | UR de teste | teste
“” | “” | “” | “” | teste 5
“” | “” | “” | UR de teste 2 | teste 2
Empresa de Teste 2 | Diretoria de teste | UN de teste | UR de teste 2 | teste 2

Teria que deixar um abaixo do outro, ou seja, na posicao inferior.

Cara… Primeiro… qual o objetivo disso ??? Pode haver um jeito mais simples de fazer…

Segundo, nao sei se analisei certo, mas nao tens porque teres ArrayLists de ArrayLists ai… acho que bastaria um ArrayList de um Tipo de Classe qualquer que contivesse seus atributos como Nome empresa, endereco, etc…

Posta ai o Objetivo e a gente ve como te ajuda…

PS: ao amigo ai que falou que a galera pega pesado… Veio, o unico problema eh que grande parte da galera ativado forum, esta no seu horario de expediente… Largar o que ta fazendo pra ajudar alguem que nem tentou nao da… O que nao eh o exemplo do amigo que esta buscando uma solucao logica ainda…

Flws :wink:

Olá,

o objetivo é imprimir na tela em forma de hierarquia, só se eu colocar um espaço em branco
ele automaticamente coloca um espaço na coluna.

Então eu simplesmente quero imprimir um relatorio com essa hierarquia, porém ao inves de colocar
o nome da camada eu só coloco um espaço em branco.

Ou seja, na tela ele fara algo como

Empresa de Teste | Diretoria de teste | UN de teste | UR de teste 1 | teste
| | | UR de teste 2 | teste 2

Ao inves de por o nome da estrutura.

O fórum nao conseguiu identar, mas isso aqui | ficaria alinhado o de cima e o de baixo.

[quote=adriano_si]Cara… Primeiro… qual o objetivo disso ??? Pode haver um jeito mais simples de fazer…

Segundo, nao sei se analisei certo, mas nao tens porque teres ArrayLists de ArrayLists ai… acho que bastaria um ArrayList de um Tipo de Classe qualquer que contivesse seus atributos como Nome empresa, endereco, etc…

Posta ai o Objetivo e a gente ve como te ajuda…

PS: ao amigo ai que falou que a galera pega pesado… Veio, o unico problema eh que grande parte da galera ativado forum, esta no seu horario de expediente… Largar o que ta fazendo pra ajudar alguem que nem tentou nao da… O que nao eh o exemplo do amigo que esta buscando uma solucao logica ainda…

Flws ;)[/quote]

Bom não é amigo e sim amiga,concordo com vc a pessoa tem que tentar resolver,eu por exemplo estou com dificuldade ha uma semana de como gerar parcelas.Já postei meu código"que tentei fazer e não eu certo".Resultado:não recebi ajuda,continue tentando,finalmente consegui algo,mas faltava um detalhe que eu não estava conseguindo mesmo “tentando”,postei novamente,a pessoa não respondeu o que eu perguntei,deixou um exemplo que eu já havia “tentado” e não deu certo,até ai tudo bem pelo menos deixou um ex.E reclamou da identação.Legal direito dele reclamar.Mas já que vc acha que deve ajudar quem tem força de vontade e “tenta fazer antes de postar”,poderia então me ajudar?

Se puderem parar de brigar com coisas sem sentido e me ajudar pq ja to pirando =/

Desculpe é que eu tb estou pirando…

[quote=Anime][quote=adriano_si]Cara… Primeiro… qual o objetivo disso ??? Pode haver um jeito mais simples de fazer…

Segundo, nao sei se analisei certo, mas nao tens porque teres ArrayLists de ArrayLists ai… acho que bastaria um ArrayList de um Tipo de Classe qualquer que contivesse seus atributos como Nome empresa, endereco, etc…

Posta ai o Objetivo e a gente ve como te ajuda…

PS: ao amigo ai que falou que a galera pega pesado… Veio, o unico problema eh que grande parte da galera ativado forum, esta no seu horario de expediente… Largar o que ta fazendo pra ajudar alguem que nem tentou nao da… O que nao eh o exemplo do amigo que esta buscando uma solucao logica ainda…

Flws ;)[/quote]

Bom não é amigo e sim amiga,concordo com vc a pessoa tem que tentar resolver,eu por exemplo estou com dificuldade ha uma semana de como gerar parcelas.Já postei meu código"que tentei fazer e não eu certo".Resultado:não recebi ajuda,continue tentando,finalmente consegui algo,mas faltava um detalhe que eu não estava conseguindo mesmo “tentando”,postei novamente,a pessoa não respondeu o que eu perguntei,deixou um exemplo que eu já havia “tentado” e não deu certo,até ai tudo bem pelo menos deixou um ex.E reclamou da identação.Legal direito dele reclamar.Mas já que vc acha que deve ajudar quem tem força de vontade e “tenta fazer antes de postar”,poderia então me ajudar?
[/quote]

Bom, amiga… quanto ao fato de voce nao ter sido ajudada em seu problema, nao quer dizer que houve ma vontade… Pode ser apenas que quem tentou lhe ajudar nao soubesse como, ou ainda nao foi bem explicado, ou por nao ter o problema completo nas maos ajuda da forma que da, etc… O que precisa ser entendido eh que as pessoas que aqui estao, tem seus afazeres e nao podem vir ao forum no meio do expediente pra poder fazer o trabalho de alguem (novamente ao amigo do forum, lembro que nao eh o seu caso)… Creio que esse nao foi o seu caso tbm Anime, mas ainda assim, aqui eh uma consultoria gratis…

Quanto ao criador do topico… Ainda nao consegui visualizar seu problema por completo, apesar de ja ter entendido melhor… Tens um relatorio no iReports ? isso vai ser impresso na Tela ?? Swing ?? Web ?? Te pergunto porque ainda acho que ArrayList de ArrayList nao eh a melhor solucao.

Abs :wink:

[quote=adriano_si][quote=Anime][quote=adriano_si]Cara… Primeiro… qual o objetivo disso ??? Pode haver um jeito mais simples de fazer…

Segundo, nao sei se analisei certo, mas nao tens porque teres ArrayLists de ArrayLists ai… acho que bastaria um ArrayList de um Tipo de Classe qualquer que contivesse seus atributos como Nome empresa, endereco, etc…

Posta ai o Objetivo e a gente ve como te ajuda…

PS: ao amigo ai que falou que a galera pega pesado… Veio, o unico problema eh que grande parte da galera ativado forum, esta no seu horario de expediente… Largar o que ta fazendo pra ajudar alguem que nem tentou nao da… O que nao eh o exemplo do amigo que esta buscando uma solucao logica ainda…

Flws ;)[/quote]

Bom não é amigo e sim amiga,concordo com vc a pessoa tem que tentar resolver,eu por exemplo estou com dificuldade ha uma semana de como gerar parcelas.Já postei meu código"que tentei fazer e não eu certo".Resultado:não recebi ajuda,continue tentando,finalmente consegui algo,mas faltava um detalhe que eu não estava conseguindo mesmo “tentando”,postei novamente,a pessoa não respondeu o que eu perguntei,deixou um exemplo que eu já havia “tentado” e não deu certo,até ai tudo bem pelo menos deixou um ex.E reclamou da identação.Legal direito dele reclamar.Mas já que vc acha que deve ajudar quem tem força de vontade e “tenta fazer antes de postar”,poderia então me ajudar?
[/quote]

Bom, amiga… quanto ao fato de voce nao ter sido ajudada em seu problema, nao quer dizer que houve ma vontade… Pode ser apenas que quem tentou lhe ajudar nao soubesse como, ou ainda nao foi bem explicado, ou por nao ter o problema completo nas maos ajuda da forma que da, etc… O que precisa ser entendido eh que as pessoas que aqui estao, tem seus afazeres e nao podem vir ao forum no meio do expediente pra poder fazer o trabalho de alguem (novamente ao amigo do forum, lembro que nao eh o seu caso)… Creio que esse nao foi o seu caso tbm Anime, mas ainda assim, aqui eh uma consultoria gratis…

Quanto ao criador do topico… Ainda nao consegui visualizar seu problema por completo, apesar de ja ter entendido melhor… Tens um relatorio no iReports ? isso vai ser impresso na Tela ?? Swing ?? Web ?? Te pergunto porque ainda acho que ArrayList de ArrayList nao eh a melhor solucao.

Abs ;)[/quote]

Nossa que polêmica,quando disse que o pessoal aq não é mole,não foi no sentide de que não ajudam,até por que já me ajuaram muito.Só fiz uma analogia entre as linguagens,que de fato quando procura se material é bem mais facil encontrar das que citei.Mas de vez enquando o pessoal pega pesado sim,esses dias alguém postou um exercício e cairam em cima do cara,lembraram até de um tal caso da padaria,achei muito chato o que fizeram e postei algo tb,mas não no intuito de criticar mas de aconselhar.Hoje mesmo teve um caso desse aq,sinceramente achei lamentavel.Longe de mim querer criticar,peço desculpas pelo incomodo.
Principalmente ao regissl.

pelo que entendi você tem um arraylist contendo vários arraylists… cada lista interna representa os campos de 1 linha do seu relatório…

a primeira coisa que eu faria é “tipar” essa linha (conforme sugerido em um post acima)… ou seja:
crie uma classe com um atributo para cada coluna do seu relatório: empresa, diretoria, un, ur, teste

daí para cada arraylist interno você converte para um objeto deste tipo criado acima…

nesse objeto você também criará um método para ser impresso de forma correta…

com isso imprimir toda a lista formatada será uma questão de um for simples no arraylist externo…