Vedere video: https://www.youtube.com/watch?v=ZQluWuxMT60&list=PLv6UtFrA7VEu4PtzJaGHHSeZBi6mdJtwv&index=9 Metteremo insieme tutto ciò che abbiamo fatto fino ad ora creando una Library(), classe con le seguenti specifiche:
- lista dei libri
- lista delle persone che prendono libri in prestito
- Quanti libri e/o persone ci sono?
Il punto 3 deve essere stimato. Fortunatamente Java ha una classe ArrayList, che gestisce una lista di oggetti con metodi built-in e che può avere lunghezza qualsiasi. Familiarizziamo con la classe ArrayList nello scrapbook. Questa classe è parte del package java.util, quindi lo dobbiamo importare usando il pulsante con il triangolino e le righe. Poi creiamo una istanza ArrayList<String> list = new ArrayList<String>(); . <String> definisce il tipo di oggetti presenti nell'array, serve per controllare che non si facciano errori si inserimento nell'array. Usiamo il metodo add per aggiungere qualche elemento e lanciamo il run con l'inspector (vedi codice). Se apriamo la lista, vediamo che l'indicizzazione inizia da 0. Se proviamo ad aggiungere un numero, dà errore perché non è una stringa. Possiamo ora creare una lista di libri, mettendo al posto di <String> il tipo <Book>. Usiamo add per aggiungere qualche libro (vedi codice). Poi creiamo una persona e le assegnamo un libro (vedi codice). Alcuni metodi utili per ArrayList: list.get(int index) --> ritorna l'elemento di indice index. Nel nostro caso ci fornisce un libro. Su questo possiamo usare a sua volta il getPerson() per avere chi l'ha in prestito, e su questo, a sua volta, il getName() per avere il nome della persona. list.indexOf(Object o) --> ritorna l'indice dell'oggetto. Se l'oggetto non è presente nella lista, dà errore. remove() --> può essere usato con l'indice e con l'oggetto. Nota: se rimuoviamo un elemento, i seguenti "shiftano" l'indice.