public class MultiInsieme {
    private static final int defaultSize = 50;
    private String[] M;               // il multi-insieme e' un array
    private int count;                // tot. elementi del multi-insieme


    // post: costruisce un array di dimensione defaultSize
    public MultiInsieme() {... }


    // post: ritorna il numero di elementi del multi-insieme
    public int size() {...}


    // post: ritorna true sse il multi-insieme e' vuoto
    public boolean isEmpty() {...}


    // post: svuota il multi-insieme
    public void clear() {...}


    // pre:  s non nulla
    // post: aggiunge la stringa s al multi-insieme ponendola in coda
    //       all'array. Ritorna true se l'operazione e' riuscita, false 
    //       se non c'e' piu' spazio libero nell'array
    public boolean insert(String s) {...}


    // pre:  s non nulla
    // post: ritorna true se nel multi-insieme c'e' un elemento uguale a s,
    //       false altrimenti
    public boolean contains(String s) {...}


    // pre: s non nulla
    // post: ritorna il numero di occorrenze di s nel multi-insieme
    public int occurrences(String s) {...}


    // post: ritorna il numero di elementi distinti del multi insieme
    public int distinct( ) {...}


    // pre:  s non nulla
    // post: rimuove la prima occorrenza di s nell'array. 
    //       Ritorna true se l'operazione e' riuscita, false altrimenti
    //       (cioe' se s non e' presente nell'array)
    public boolean remove(String s) {...}


    // post: ritorna una stringa contenente gli elementi del multi-insieme
    //       utilizza un spazio come separatore tra gli elementi
    public String toString() {...}

}

