Problema com JTable (aplicar para que duas linhas iguais nao sejam inseridas)[RESOLVIDO]

Bom dia, boa tarde ou boa noite gente, estou com um problema ao gerar minha JTable, ela seria um relatório de produtos vendidos, com uma busca realizada em determinado período de tempo. A busca esta sendo feita de modo correto, porem quando eu busco, se tiver 5 vendas de um mesmo produto ele me cria 5 linhas diferentes tipo:
tabela com os produtos

Dando uma pesquisada vi uma maneira de fazer com que seja comparado as linhas ao popular a JTable com o meu ArrayList, porem agora minha tabela vem em branco.
Codigo:

 public void TabelaProd(String datai, String dataf) {

     try {

         jTableProdutos.setModel(relatorio);

         for (Venda venda : daovenda.RelatorioProdutoVenda(datai, dataf)) {
             for (int linha = 0; linha < jTableProdutos.getRowCount(); linha++) {
                 Object co = jTableProdutos.getModel().getValueAt(linha, 0);
                 String cod = String.valueOf(co);
                 Long codigo = Long.parseLong(cod);
                 if (venda.getCod_Prod().equals(codigo)) {
                     Object q = jTableProdutos.getModel().getValueAt(linha, 4);
                     String quant = String.valueOf(q);
                     long vquant = Long.parseLong(quant);
                     long nquant = vquant + venda.getQuant_vend();
                     jTableProdutos.getModel().setValueAt(nquant, linha, 4);
                 } else {
                     relatorio.addRow(venda);
                 }
             }
         }
     } catch (SQLException ex) {
        Logger.getLogger(FuncionarioInter.class.getName()).log(Level.SEVERE, null, ex);
    }
 }

Alguém poderia me ajudar? Grato desde já

Bom dia,

Já tentou inserir na sua query distinct pelo produto (https://pt.stackoverflow.com/questions/74675/como-fazer-um-select-no-banco-para-não-trazer-valores-repetidos) ?

No caso de usar distinct você terá que somar os valores dos campos que você necessita usando SUM.

Pode também implementar equals e hashCode dos objetos que você não quer que repita (Produto) para poder compará-los.

No seu caso como você já tem uma lista e não está inserindo nela ( se estivesse inserindo poderia utilizar recursos java que evitam duplicação) você tem essas duas opções. Ou tratar antes de trazer a lista ou tratar depois.

Implementando equals e hashCode você pode criar uma nova lista, percorrer está sua atual e ir adicionando na nova lista sempre comparando usando o contains para ver se já foi adicionado. Se já existir pode pegar o produto existente e somar as informações que você precisa.

Você tem uma gama de soluções, tente implementar algo e se travar estamos ai.

[]'s

Consegui, utilizei o método equals antes de realizar a adição no arraylist. E no próprio método equals fiz a soma das quantidades.
Obrigado pela ajuda

Ótimo.

Marque o título do tópico como [RESOLVIDO]

[]'s