Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    Ordinare lista di oggetti in base ad uno specifico campo

    Ciao,

    se io ho una lista di oggetti di tipo TaskDTO dichiarata così:

    codice:
    List<TaskDTO> listaTaskUrgenti =  new ArrayList<TaskDTO>();
    e successivamente popolata con un certo numero di oggetto di tipo TaskDTO

    Ogni oggetti TaskDTO ha una serie di campi tra cui una data:

    codice:
    public class TaskDTO extends AbstractBaseDTO {
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	
    	private String activityType;
    	private String task;
    	private Date dataCreazione;
    	private String cliente;
    	private String operatoreFO;
    	private String operatoreBO;
    	private boolean urgente;
    
    .......
    METODI GETTER e SETTER
    }
    Se volessi ordinare la lista listaTaskUrgenti in base al valore contenuto in dataCreazione in modo tale da avere gli oggetti con le date più vecchie all'inizio e quelli con le date più recenti alla fine della lista....come potrei farlo in modo pratico e veloce?

    Grazie
    Andrea

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Fai implementare alla tua classe l'interfaccia Comparable e implementa il metodo compareTo() nel modo opportuno.

    L'ordinamento, tramite la classe Collections, avviene in modo automatico secondo il comparatore naturale.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    Originariamente inviato da LeleFT
    Fai implementare alla tua classe l'interfaccia Comparable e implementa il metodo compareTo() nel modo opportuno.

    L'ordinamento, tramite la classe Collections, avviene in modo automatico secondo il comparatore naturale.


    Ciao.
    Aspetta fammi capire...cosa è che deve implementare l'interfaccia Comparable?

    Gli oggetti di tipo TaskDTO oppure la classe in cui dichiaro la mia lista di oggetti TaskDTO?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    cosa confronti, due istanze di TaskDTO oppure la lista che li contiene? rispondi a questo e sai chi deve essere comparable

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    Originariamente inviato da valia
    cosa confronti, due istanze di TaskDTO oppure la lista che li contiene? rispondi a questo e sai chi deve essere comparable
    Confronto le istanze di TaskDTO quindi credo che debba essere l'oggetto TaskDTO a dover implementare l'interaccia Comparable

    ma nel metodo compareTo cosa ci dovrei mettere? come faccio a comparare due date?

  6. #6
    Originariamente inviato da D4rkAng3l
    ma nel metodo compareTo cosa ci dovrei mettere? come faccio a comparare due date?
    Le istanze della classe Date sono comparabili, quindi fai restituire al tuo metodo il valore che ottieni invocando il metodo compareTo implementato dalla classe Date.

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.