Scusami ancora se ti disturbo ma mi spiego meglio.
Io ho 3 classi, una classe agenzia dove ho una listaViaggi e una listaClienti
Poi la classe Cliente con attributi: nome, cognome, codice fiscale e una lista di viaggi
La classe Viaggio con Data e Luogo.
Nella classe Agenzia,ho aggiunto il metodo per contare quanti viaggi sono stati fatti in una determinata localita, in questo modo:
public Map<String,Integer> getConteggioViaggiPerLuoghi() {
        Map<String,Integer> mappaConteggi = new HashMap<String,Integer>();
        for (Viaggio viaggio : listaViaggi) {
            String luogo = viaggio.getLuogoViaggio();
            Integer conteggio = mappaConteggi.get(luogo);
            mappaConteggi.put(luogo, conteggio == null ? 1 : conteggio+1);
        }
    
        return mappaConteggi;
    }
Ora vorrei che cliccando su un pulsante mi si aprisse una nuova jDialog con una tabella e con scritto ad esempio:
Luogo Viaggio| Numero Viaggi
Parigi   | 2
Berlino | 3
e cosi via.
Il miei dubbi sono: 
Come imposto il modelloTabella ?
nella JDialog dove visualizzo la tabella con i dati come scrivo il metodo che inizializza la tabella?
io avevo pensato a questo:
 
private void inizializzaTabellaContaViaggi() {
        Agenzia agenzia = (Agenzia) this.vista.getModello().getBean(Costanti.AGENZIA);
        if ( agenzia == null ) {
            this.visualizzaFinestraErrore(" Errore inizializzazione ----Non è stato possibile inizializzare la Tabella");
        }else{
        ModelloTabellaContaViaggi mtcv = new ModelloTabellaContaViaggi(agenzia);
        this.tabellaContaViaggi.setModel((TableModel)mtcv);
        this.scrollTabellaContaViaggi.setViewportView(tabellaContaViaggi);
         }
    }
Mentre il modelloTabella in questo modo:
public class ModelloTabellaContaViaggi extends AbstractTableModel {
        private Agenzia agenzia;
        private List<Agenzia> listaConteggioPerLuogo;
    
    public ModelloTabellaContaViaggi(Agenzia agenzia) {
       this.agenzia = agenzia;
    }
    
    public int getRowCount() {
        return // qui come faccio a sapere qual'è la lunghezza della lista?
    }
    public int getColumnCount() {
        return 2;
    }
    public Object getValueAt(int r, int c) {
        Agenzia agenzia = listaConteggioPerLuogo.get(r);
        if (c == 0) {
           return // come faccio a dirgli che deve darmi il nome del luogo?
        } else if (c == 1) {
           return // stesso problema con il numero dei viaggi effettuati verso quel luogo
        }
        return null;  
    }
    
        @Override
    public String getColumnName(int c) {
        if (c == 0) {
            return "Luogo Avvistamento";
        }else if (c == 1) {
            return "Numero Avvistamenti";
        }
        return null;
    }
Ecco quello che ti chiedo è possibile fare quello che voglio in questo modo o mi servono altri metodi?
P.s. spero di essere stato più chiaro questa volta.