Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da anccelo Visualizza il messaggio
    credo che sbaglio nell'utilizzo dei cicli for
    Scusa ma un conto è se vuoi/devi implementare tu un algoritmo di ordinamento (uno di quelli noti, chiaramente, es. BubbleSort ... difficilmente uno se ne inventa di nuovi ...).
    Un altro conto è se ti basta sfruttare l'algoritmo di ordinamento già implementato nei sort() del framework, nel qual caso è solo sufficiente fornire il criterio di comparazione basato su Comparable o Comparator.

    Se avessi una classe Persona (con String nome, String cognome, int annoNascita) e volessi un Comparator che ordina per anno nascita e a parità di anno per cognome e poi per nome, allora il Comparator sarebbe:

    codice:
    public class PersonePerAnnoComparator implements Comparator<Persona> {
        public int compare(Persona p1, Persona p2) {
            int r = Integer.compare(p1.getAnnoNascita(), p2.getAnnoNascita());
    
            if (r == 0) {
                r = p1.getCognome().compareTo(p2.getCognome());
    
                if (r == 0) {
                    r = p1.getNome().compareTo(p2.getNome());
                }
            }
    
            return r;
        }
    }

    Tutto qui.
    Ultima modifica di andbin; 08-05-2016 a 16:26
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2016
    Messaggi
    9
    Grande Andrea. io esattamente questo intendevo....
    Ora Provo a modificare il mio Comparator.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2016
    Messaggi
    9

    Ancora Grazie

    Andrea ancora grazie . Impeccabile con la modifica del mio Comparator (anche se non tutti le variabili erano delle String e quindi non tutti avevano il metodo comareTo , ma con un if/else if/else me ne sono uscito alla grande rispetto a inserire il bubble sort ) .
    E' la seconda volta che chiedo una mano in questo forum ed é la seconda volta che mi rispondi ( l'altra volta non arrivammo a una soluzione) . Non conosco il forum ma se c'é da mettere qualche I-Like o simile da qualche parte in tuo favore lo faro' con piacere.
    Buona serata e a presto.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.