Como contar registros iguais em uma tabela em java?

estou com o mesmo problema

To tentando bolar uma logica que se encaixe na minha aplicação, qualquer coisa se eu bolar algo te aviso.

blz, estou tentando aqui olha como estou tentando fazer ve se esse codigo te ajuda , no meu caso eu soma +1 em caso o usuario digitar uma data ja existente no banco de dados mas a condição não esta funcionando.

DefaultTableModel modelo,modelo2;
 public DefaultTableModel comboxTableVisitas(){

try {
    con = Conecta.conexao();
} catch (ClassNotFoundException ex) {
    Logger.getLogger(ChamadasDAO.class.getName()).log(Level.SEVERE, null, ex);
}

String[] titulos = {"Defeito", "data entrada", "Data saida","Hora de entrada", "Hora de Saida", "Horas Trabalhadas", "Word", "Excel", "Power", "Outlook","Visitas"};



modelo = new DefaultTableModel(null, titulos);

String sql="Select cha_nome,vi_defeito,vi_dataentra,vi_datasaida,vi_horainicio,vi_horafinal,vi_horastrabalhadas, vi_word, vi_excel,vi_power,vi_qtde, vi_outlook  from tb_visitas order by vi_cod  ";

try {
    pst = con.prepareStatement(sql);
    rs = pst.executeQuery();

    while (rs.next()) {
        String compararData;

        int cont = 0;
       
        String dataentrada = rs.getString("vi_dataentra");
        String datasaida = rs.getString("vi_datasaida");

        String horainicio = rs.getString("vi_horainicio");
        String horafinal = rs.getString("vi_horafinal");
        String resultado = rs.getString("vi_horastrabalhadas");
        String defeito=rs.getString("vi_defeito");
        String word = rs.getString("vi_word");
        String excel = rs.getString("vi_excel");
        String power = rs.getString("vi_power");
        String outlook = rs.getString("vi_outlook");

        compararData = jFormattedDataEntrada.getText();
        if (compararData.equals(dataentrada)) {
            System.out.println("oi");
            modelo.addRow(new Object[]{defeito,dataentrada, datasaida, horainicio, horafinal, resultado, word, excel, power, outlook, "" + (cont + 1)});

       } else {

            modelo.addRow(new Object[]{defeito,dataentrada, datasaida, horainicio, horafinal, resultado, word, excel, power, outlook, "" + (cont + 1)});

       }
    }

    return modelo;
} catch (Exception e) {
    JOptionPane.showConfirmDialog(null, "Erro ao mostrar Dados das Chamadas" + e);
    return null;
}

   }

    void mostrarVisitas() {
   try { 
    DefaultTableModel modelo2;

    modelo2 = comboxTableVisitas();

    jTable1.setModel(modelo2);
} catch (Exception e) {
    JOptionPane.showMessageDialog(null, "Erro ao mostrar visitas:\n Erro:" + e.getMessage());
}

}

Não tenho tanta certeza mas essa “dataentrada” vem do teu bd né? Então ela não seria do tipo date do sql? No meu caso eu seto as datas la no meu bd (phpmyadmin) como “date”. Ai não sei se é o teu caso… Não sei que tipo de banco de dados tu estas usando. Outra coisa, uma dica, na tua SQL tu não quer trazer todos os campos da tbl: tb_visitas, é mais fácil se for o caso tu usar assim SELECT * FROM tb_visitas…?

Vc poderia alterar o sql query como nos links:

ou usar um HashMap<Linha, Integer> em que a Linha teria o equals e hashcode sobrescritos, e receberia um Object[]

Valeu pela chamada de atenção.