public class MultiInsieme1 /* questa classe e' stata modificata rispetto alla classe MultiInsieme, migliorando le prestazioni nel caso in cui il metodo media venga utilizzato frequentemente */ { private int[] valori; private int size; private int sommaEl; public MultiInsieme1(int dimensione) { valori = new int[dimensione]; size = 0; sommaEl = 0; } public void aggiungiElemento(int x) { valori[size] = x; size++; sommaEl += x; } public int numElementi() { return(size); } public double media() { return (double)sommaEl/size; } public double varianza() { double sommaQuad=0; double med = media(); for (int i = 0; i < size; i++) { sommaQuad += (valori[i]-med)*(valori[i]-med); } return sommaQuad/size; } public boolean pieno() { if (size==valori.length) return true; else return false; } public int numUguali(int x) { Contatore c = new Contatore(); for (int i = 0; i < size; i++) { if (valori[i]==x) c.add(); } return c.getValue(); } public String elencoValori() { String elenco=""; for (int i = 0; i < size; i++) { elenco += (valori[i] + " "); } return elenco; } }