1
resposta

Como acumular em um list de VO valores correspondentes

Tenho a seguinte situação, tenho uma lista de dto onde dois atributos devem ser iguais para acumular o valor x e me devolver uma lista para inserir no banco: Exemplo:

Lista testes = new ArrayList<>(); Teste teste = new Teste(); teste.valorx = 100; teste.atributoa = 1; teste.atributob=1;

testes.add(teste);

teste = new Teste();
teste.valorx = 200;
teste.atributoa = 1;
teste.atributob= 2;
testes.add(teste);

teste = new Teste();
teste.valorx = 300;
teste.atributoa = 1;
teste.atributob=1;
testes.add(teste);

O que preciso é uma lista onde contenha o valor 
teste.atributoa =1;
teste.atributob=1;
teste.valor=400 (somando os elementos pois atributoa e atributob são iguais)

teste.atributoa=1;
teste.atributob=2;
teste.valor=200;(esse ficaria sozinho)

e depois pudesse iterar para poder inserir no banco de dados.

porém não consegui pela documentação abstrair um que me permitisse isso, se eu utilizar map teria que concatenar os dois e isso eu não gostaria

Alguma outra solução?
1 resposta

Oi Jackeline,

O problema ficou um pouco confuso, mas, irei responder conforme o que eu consegui interpretar.

Pelo que eu entendi você tem uma lista de lançamentos, similar ao que fazemos em contas bancárias, e, com base nessa lista, você precisa disponibilizar uma outra lista com os totais apurados para cada conta bancárias.

Seguindo esse raciocínio, você só necessita criar uma segunda lista com as informações sumarizadas para cada conta a partir da lista de lançamentos.

Espero ter ajudado. Abs