Agrupar Objetos num list[RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
leopoldof
GUJ Master

Membro desde: 07/03/2008 07:40:45
Mensagens: 1012
Offline

Pessoal....
Estou com uma dúvida...

Por exemplo...
Tenho um List com um array de strings dentro com duas posições assim
List<String[]>....

onde o seu conteúdo seria por exemplo assim... na primeira posicao do string seria um cabeçalho e no segundo seria um numero representando quantidades


String{"A110" , "1"}, //Posição 0 do list
String{"A111" , "5"}, //Posição 1 do list
String{"A111" , "1"}, //Posição 2 do list
String{"A111" , "2"}, //Posição 3 do list
String{"A999" , "3"}, //Posição 4 do list


Então como faço para agrupar estes registros somando as quantidades...tipo o resultado teria que ficar assim

String{"A110" , "1"}, //Posição 0 do list
String{"A111" , "8"}, //Posição 1 do list
String{"A999" , "3"}, //Posição 2 do list


Pensei e criar um List temporario , depois excluir os repetidos, depois comparar com o array original, mas creio que assim daria muito processamento, já que esse list poderá ser de umas 2000 posições...

This message was edited 1 time. Last update was at 26/10/2011 11:16:04

entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

Naõ use um List<String[]> e sim um Map<String, Integer>, onde a chave (key) é por exemplo "A110" e o valor (value) é a contagem, no caso 8.
Vinicius Zibetti Resko
JavaTeenager
[Avatar]

Membro desde: 27/03/2011 19:29:50
Mensagens: 192
Localização: Taubaté-SP
Offline

Caso não opite pelo Map, segue uma pequena solução para o seu problema, talves tenha resolvido, se n tiver erros de compilação ou de logica:

Ps: Altamente aconselhavel usar Map nesse caso.




This message was edited 3 times. Last update was at 22/10/2011 13:40:17


Aprendizado Básico Linguagem C++ ->OK
Aprendizado Intermediário Linguagem Java ->OK
Aprendizado Avançado Linguagem PHP ->OK
Aprendizado Intermediário Linguagem SQL ( PGSQL e MYSQL) ->OK
Aprendizado intermediário em estrutura de dados e algoritmos -> Correndo atrás sempre.
[WWW] [MSN]
leopoldof
GUJ Master

Membro desde: 07/03/2008 07:40:45
Mensagens: 1012
Offline

Obrigado pelos esclarecimentos..... bem...segui a sua idéia e resolvi o problema...
Quanto a objeto Map.... a princípio não seria um inteiro a ser usado na segunda posição do array de string e sim mais uma string...
Somente depois que foi mudado para inteiro....por isso não posso mecher esse tipo de objeto..senão vou ter que vasculhar um sistema inteiro...

Mas qual a razão...do Map?, claro...além da eliminação do cast para inteiro...?
Vinicius Zibetti Resko
JavaTeenager
[Avatar]

Membro desde: 27/03/2011 19:29:50
Mensagens: 192
Localização: Taubaté-SP
Offline

Eh que o MAP acessa por indice não repetido, se ja tiver um Indice por ex: A100, ele não cria outro com outro valor, apenas substitui o mesmo, ai vc faz as modificações antes de substituir..


Aprendizado Básico Linguagem C++ ->OK
Aprendizado Intermediário Linguagem Java ->OK
Aprendizado Avançado Linguagem PHP ->OK
Aprendizado Intermediário Linguagem SQL ( PGSQL e MYSQL) ->OK
Aprendizado intermediário em estrutura de dados e algoritmos -> Correndo atrás sempre.
[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team