Seguinte, tenho ma lista com Produtos, esse produtos tem alguns repetidos, quando for repetido preciso acumular alguns valores (quantidade, valor unitário, valor total, etc), e no próximo se for diferente preciso colocar todos esses valores acumulados no anterior e guardar esse anterior em uma outra lista.
Fiz esse código mas não está dando certo.
[code]Produto itemAntes = null;//listaProdutos.get(0);
int quantosTem = listaProdutos.size();
int counter = 0;
double quantidadeComercial2 = 0.0;
double quantidadeTributada2 = 0.0;
double valorTotal2 = 0.0;
double valorUnitario2 = 0.0;
double valorUnitarioTributato2 = 0.0;
double valorDesconto2 = 0.0;
double valorFrete2 = 0.0;
while (it1.hasNext()) {
Produto item = it1.next();
counter++;
quantidadeComercial2 = quantidadeComercial2 + item.getQuantidadeComercial();
quantidadeTributada2 = quantidadeTributada2 + item.getQuantidadeTributavel();
valorTotal2 = valorTotal2 + item.getValorTotal();
valorUnitario2 = valorUnitario2 + item.getValorUnitario();
valorUnitarioTributato2 = valorUnitarioTributato2 + item.getValorUnitarioTributavel();
valorDesconto2 = valorDesconto2 + item.getValorDesconto();
valorFrete2 = valorFrete2 + item.getValorFrete();
if (item.equals(itemAntes) && counter > 1) {
System.out.println("Anterior: " + itemAntes.getCodigoProdutoServico());
System.out.println("Atual: " + item.getCodigoProdutoServico());
System.out.println("Produto: " + item.getCodigoProdutoServico() + ") " + item.getDescricao());
quantidadeComercial2 = quantidadeComercial2 + item.getQuantidadeComercial();
quantidadeTributada2 = quantidadeTributada2 + item.getQuantidadeTributavel();
valorTotal2 = valorTotal2 + item.getValorTotal();
valorUnitario2 = valorUnitario2 + item.getValorUnitario();
valorUnitarioTributato2 = valorUnitarioTributato2 + item.getValorUnitarioTributavel();
valorDesconto2 = valorDesconto2 + item.getValorDesconto();
valorFrete2 = valorFrete2 + item.getValorFrete();
} else {
// Quando chegar em um DIFERENTE do anterior QUERO adicionar a uma lista o anterior com os valores acumulados
System.out.println("== AGORA TEM QUE ADICIONAR ===");
System.out.println("Produto: " + item.getDescricao());
System.out.println("Quantidade: " + quantidadeComercial2);
}
itemAntes = item;
}
[/code]Alguém me ajuda?