Qualcuno mi sa spiegare come si può implementare una coda di priorita di oggetti di tipo data(ora,giorno) ordinata in ordine crescente per il tipo giorno, ho avuto qualche difficolta a dirgli al compilatore in che modo ordinare.
Qualcuno mi sa spiegare come si può implementare una coda di priorita di oggetti di tipo data(ora,giorno) ordinata in ordine crescente per il tipo giorno, ho avuto qualche difficolta a dirgli al compilatore in che modo ordinare.
Prova a postare il codice che hai prodotto, così vediamo dov'è il problema.
Ad ogni modo, non è il compilatore che ordina, ma la JVM.
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
Dovrebbe essere una cosa del genere
Il problema ora sta nell'ordinamento come faccio a digli che l'ordine deve essere effettuato per la data.codice:PriorityQueue<Data> pq=new PriorityQueue<Data>(); //inserisco le varie date
PriorityQueue è una collezione di tipo "sorted" (e di conseguenza anche "ordered"). Gli elementi sono cioè mantenuti ordinati in base al loro contenuto, tramite quello che si chiama il "natural ordering" (Comparable) o tramite un ordinamento specifico (Comparator).Originariamente inviato da zeno3083
Il problema ora sta nell'ordinamento come faccio a digli che l'ordine deve essere effettuato per la data.
Quindi ti basta implementare opportunamente Comparable<Data> nella tua classe Data.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ciò come dovrei implementarlo se mi interessa che l'ordine sia per il tipo giorno.
http://java.sun.com/javase/6/docs/ap...omparable.htmlOriginariamente inviato da zeno3083
Ciò come dovrei implementarlo se mi interessa che l'ordine sia per il tipo giorno.
http://java.sun.com/docs/books/tutor...ces/order.html
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Se faccio cosi va bene:
e nella altra classe creo la coda di prioritàcodice:public class Data implements Comparable{ double time; int giorno; public Data (int giorno2,double time2){ giorno=giorno2; time=time2; } public double getTime(){ return time; } public int compareTo(Object data){ int compare=(int)(time-((Data)dat).getTime()); return compare; } }
Cosi dovrebbe funzionare che ne dite?codice:PriorityQueue<Data> listData=new PriorityQueue <Data>();