Como remover linhas duplicadas em uma DefaultTableModel

Olá pessoal queria uma ajuda de vocês, tanto na lógica como no comando java!
como faço para criar um comando que remove linhas duplicadas em uma DefaultTableModel?

Exemplo: Tabela com 3 colunas chamada id, frutas, quantidade

id, frutas, quantidade
01 Ababacaxi 4
02 Manga 2
03 Uva 2
04 Ababacaxi 2

queria um código que removese essa dublicação mantendo apenas o que tem maior quantidade removendo por um botão sem precisa que a pessoa clique na linha dublicada!

Primeiramente na utilize DefaultTableModel ele só é útil para grades com conteúdo fixo.
Especialize seu próprio TableModel estendendo a classe AbstractTableModel.

Recomendo se basear no GenericAbstractTableModel que o colega @lucas_camara postou neste tópico.

Depois, se você estiver programando orientado a objetos, é só verificar sua coleção de objetos Fruta e quando encontrar alguma repetida, atualizar a quantidade da primera e remover a repetida.

1 curtida

Obrigado pelas dicas vou estudar esta abstração

consegui resolver com a lógica empregada neste código ficou show comparando os IDs
onde j sempre será a ocorrencia da quantidade menor, pois ela sempre sai dublida por ultimo na tabela!

for (int i = 0; i < modelo.getRowCount(); i++) {
for (int j = i+1; j < modelo.getRowCount(); j++) {
if ((int)modelo.getValueAt(i, 0) == (int)modelo.getValueAt(j, 0)) {
//System.out.println(“i”+ modelo.getValueAt(i, 0));
//System.out.println(“j”+ modelo.getValueAt(j, 0));
modelo.removeRow(j);
}
}
}

obrigado irei estudar