Class Inventario
java.lang.Object
it.unimi.di.prog2.temisvolti.bancarelle.Inventario
- All Implemented Interfaces:
Iterable<Giocattolo>
Classe concreta mutabile che rappresenta un inventario.
L'inventario tiene traccia della numerosità di ciascun giocattolo in una collezione di essi; ad esso è possibile aggiungere o rimuovere giocattoli e conoscere quanti giocattoli di un certo tipo contenga.
È un Iterable
dei giocattoli che contiene, in ordine lessicografico della loro
rappresentazione testuale.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<Giocattolo,
Integer> Mappa che tiene traccia della numerosità di ciascun giocattolo presente nell'inventario -
Constructor Summary
ConstructorsConstructorDescriptionCostruisce un inventario vuoto.Inventario
(Inventario originale) Costruisce una copia dell'inventario dato.Inventario
(Map<Giocattolo, Integer> inventario) Costruisce un inventario a partire da una mappa che, per ciascun giocattoo, indica quanti ne debba contenere l'inventario. -
Method Summary
Modifier and TypeMethodDescriptionint
aggiungi
(int num, Giocattolo giocattolo) Aggiunge un certo numero di giocattoli dello stesso tipo all'inventario.int
aggiungi
(Giocattolo giocattolo) Aggiunge un giocattolo all'inventario, se il giocattolo era già presente ne aumenta di uno la numerosità.iterator()
int
quantità
(Giocattolo giocattolo) Restituisce il numero di giocattoli del tipo indicato presenti nell'inventario.int
rimuovi
(int num, Giocattolo giocattolo) Rimuove (se possibile) il numero indicato di giocattoli di un certo tipo dall'inventario.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
inventario
Mappa che tiene traccia della numerosità di ciascun giocattolo presente nell'inventario
-
-
Constructor Details
-
Inventario
public Inventario()Costruisce un inventario vuoto. -
Inventario
Costruisce un inventario a partire da una mappa che, per ciascun giocattoo, indica quanti ne debba contenere l'inventario.- Parameters:
inventario
- una mappa tra giocattoli e le loro numerosità.- Throws:
NullPointerException
- se inventario è null, o contiene chiavi o valori uguali anull
.IllegalArgumentException
- se uno dei valori non è positivo.
-
Inventario
Costruisce una copia dell'inventario dato.- Parameters:
originale
- l'inventario di cui effettuare una copia.- Throws:
NullPointerException
- se inventario ènull
.
-
-
Method Details
-
aggiungi
Aggiunge un certo numero di giocattoli dello stesso tipo all'inventario. Se sono già presenti giocattoli di quel tipo, ne aggiorna il numero.- Parameters:
num
- il numero di giocattoli da aggiungere.giocattolo
- il giocattolo da aggiungere.- Returns:
- il numero totale dei giocattoli del tipo appena aggiunto presenti nell'inventario.
- Throws:
NullPointerException
- se il giocattolo ènull
.IllegalArgumentException
- se il numero non è positivo.
-
aggiungi
Aggiunge un giocattolo all'inventario, se il giocattolo era già presente ne aumenta di uno la numerosità.- Parameters:
giocattolo
- il giocattolo da aggiungere.- Returns:
- il numero totale dei giocattoli del tipo appena aggiunto presenti nell'inventario.
- Throws:
NullPointerException
- se il giocattolo ènull
.
-
rimuovi
Rimuove (se possibile) il numero indicato di giocattoli di un certo tipo dall'inventario.- Parameters:
num
- il numero di giocattoli da rimuovere.giocattolo
- il giocattolo da rimuovere.- Returns:
- il numero rimanente di giocattoli del tipo appena rimosso ancora presenti nell'inventario.
- Throws:
NullPointerException
- se il giocattolo ènull
.IllegalArgumentException
- se il numero non è positivo, o eccede il numero di giocattoli di quel tipo presenti nell'inventario.
-
quantità
Restituisce il numero di giocattoli del tipo indicato presenti nell'inventario.- Parameters:
giocattolo
- il giocattolo.- Returns:
- il numero di giocattoli di tale tipo presenti nell'inventario, (eventualmente 0 se l'inventario non contiene il giocattolo indicato).
- Throws:
NullPointerException
- se giocattolo ènull
-
iterator
- Specified by:
iterator
in interfaceIterable<Giocattolo>
-
toString
-