Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    69

    Ordinamento "particolare" con Comparator

    Ciao a tutti ,

    ho una lista contenente degli oggetti che presentano una proprietà che può contenere uno dei seguenti caratteri:
    '-' -> Non fare nulla
    'I' -> Insert
    'U' -> Update
    'D' -> Delete


    Ora io vorrei ordinare la lista in modo da avere prima tutti i Delete ('D') , poi tutti gli Update ('U') , poi tutti gli Insert ('I') ed infine tutti i '-'.

    L'ordinamento vorrei fosse realizzato tramite il Comparator, solo che non ho idea di come realizzare "l'algoritmo" .

    Spero di essermi spigato.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Ordinamento "particolare" con Comparator

    Originariamente inviato da manu1980
    contenente degli oggetti che presentano una proprietà
    Sarebbe meglio se spiegassi bene come è fatta la classe di questi tuoi oggetti, quali campi ha e di che tipo.
    Questa proprietà di cui parli è proprio un char o un String? (immagino un char, visto come hai presentato i valori).

    Comunque, a parte questo, definisci una classe che implementa Comparator<MioOggetto> dove MioOggetto è la classe di quei tuoi oggetti. Nel metodo compare() che dovrai implementare, riceverai 2 oggetti da confrontare e di cui leggerai innanzitutto quella proprietà. A questo punto entra in gioco il criterio di comparazione. La comparazione infatti vuoi farla con un criterio particolare che non centra nulla con l'ordinamento diretto di quella proprietà.

    Io assegnerei ad ognuno di quei caratteri un "indice" che mi permette di fare poi il confronto in modo diretto.

    'D' --> 1
    'U' --> 2
    ecc...

    Questo puoi farlo tranquillamente nel Comparator ad esempio con un metodo privato che dato il char lo trascodifica nell'indice. Alla fine confronti direttamente gli indici, basta ritornare i1 - i2.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    69
    Ciao, grazie per la risposta !

    Sinceramente l'idea dell'indice non mi era venuta in mente. Dovrebbe funzionare ! Ci provo, nel caso mi rifaccio vivo.

    Grazie mille !

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.