|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2007
Messaggi: 476
|
[Java] Mappe
Buonasera a tutti.
Devo scrivere come esercizio un programma in Java che gestisca una libreria. Oltre a memorizzare i dati relativi ai vari libri, si chiede di scrivere un programma in grado di: - chiedere all'utente il titolo del libro e stampare a video la lista di tutti i libri con quel titolo presenti nella libreria - chiedere all'utente l'autore del libro e stampare a video la lista di tutti i libri scritti da quell'autore presenti nella libreria Inizialmente ho pensato di usare due istanze di HashMap. Una che aveva come chiavi i vari titoli dei libri e per valori gli oggetti della classe Libro, e una che aveva come chiavi i vari autori e come valori gli oggetti della classe Libro. Il problema è che, così facendo, si viola la regola secondo cui: "ad ogni chiave presente nella mappa è associato un unico valore". Ma, dall'altro lato, ho bisogno di scegliere quelle chiavi per utilizzare agevolmente il metodo get(nome_autore) e ottendere i libri di quell'autore. Come posso fare per risolvere il problema? ![]() Grazie. ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
I libri dovrebbero avere un UID, credo che sia l'ISBN o una roba così quindi è possibile che questa deva essere la tua chiave univoca con cui immagazzinare i libri nella mappa.
Se è così allora per le ricerche devi fare una scansione lineare dei valori immagazzinati nella mappa. Semplicemente: Codice:
for(Map.Entry<String, Libro> e : map.entrySet()) { Libro libro = e.getValue(); ...vedi se libro.autore o libro.titolo coincidono con quello che ti serve }
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:31.