Definizione di una classe per gestire un insieme di numeri, con ripetizioni (multiinsieme)
Operazioni previste
- costruire un insieme vuoto (per default può contenere fino a 20 elementi)
- costruire un insieme vuoto (specificando il numero massimo di elementi)
- inserire un elemento nell'insieme (l'elemento potrebbe anche essere già presente, nel qual caso deve essere duplicato)
- ottenere il numero totale di elementi nell'insieme
- ottenere il numero di occorrenze di un certo elemento presenti nell'insieme
- ottenere la media aritmetica degli elementi presenti nell'insieme
- verificare se l'insieme è pieno (cioè non può ospitare altri elementi)
- implementare in maniera opportuna il metodo
toString
La classe deve poter essere utilizzata dal programma UsaMultiInsieme.java
Il metodo che restituisce la media può essere reso più efficiente se si mantiene nell'oggetto anche la somma degli elementi presenti.
Soluzione
Si raccomanda di leggere la soluzione MultiInsieme.java solo dopo aver cercato di risolvere il problema autonomamente.
Estensione
Definire una sottoclasse che implementa anche le operazioni seguenti:
- eliminare una occorrenza di un elemento nell'insieme (se l'elemento era presente lo elimina e restituisce
true
,
altrimenti non altera l'insieme e restituisce false
)
- eliminare tutte le occorrenze di un elemento nell'insieme (se l'elemento era presente elimina tutte le occorrenze e restituisce
true
,
altrimenti non altera l'insieme e restituisce false
).
- ottenere la varianza degli elementi presenti nell'insieme
La classe deve poter essere utilizzata dal programma UsaMultiInsiemeConEliminazione.java
Il metodo che restituisce la varianza può essere reso più efficiente se si mantiene nell'oggetto anche la somma dei quadrati degli elementi presenti. In questo caso deve essere riscritto anche il metodo inserisci
Soluzione
Si raccomanda di leggere la soluzione MultiInsiemeConEliminazione.java solo dopo aver cercato di risolvere
il problema autonomamente.