[Java]Dal diagramma classi a Java

m45511


Devo realizzare la seguente consegna:
DATO UN INSIEME DI LIBRI PRENOTATI, VERIFICARE CHE TUTTI I CLIENTI CHE LI ABBIANO PRENOTATI RISIEDANO ENLLA STESSA CITTA.

Questo è il codice sorgente, non ho capito solo alcuni punti;

public static boolean clientiStessaCitta(Set P) {

boolean result = true;
Iterator i = P.iterator();
String c = null;
if (i.hasNext()) {
Libro x = i.next();
c = x.getPrenotazioni().iterator().next().getCitta(); //a cosa serve il .next()?
}
while (i.hasNext()) {
Libro x = i.next();
Iterator j = x.getPrenotazioni().iterator(); //perchè qui c'è il .iterator()
while (j.hasNext()) {
Cliente y = j.next();
result = result && y.getCitta().equals(c);
}
}
return result;
}
}
se qualcuno mi potesse fornire il funzionamento del secondo ciclo in linguaggio formale capirei tutto meglio
Il mio problema è che non ho capito come gestire le associazioni con l'iteratore, purtroppo ho solo questo esercizio svolto.
Grazie per l'aiuto.

Risposte
Cronovirus
"m4551":

c = x.getPrenotazioni().iterator().next().getCitta(); //a cosa serve il .next()?

Iterator j = x.getPrenotazioni().iterator(); //perchè qui c'è il .iterator()


Per rispondere alla prima domanda dovresti guardare l'implementazione della classe Libro, che avrà un metodo getPrenotazioni che restituisce un set (di Clienti) di cui chiedi l'iterator e ne prendi il primo elemento con next().

Idem per la seconda

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.