ciao a tutti..

devo fare un programma che gestisce un insieme di numeri interi positivi..attraverso un ARRAY DI BOOLEANI dinamico..

implementando i due metodi put(int) e remove(int)..però ho riscontrato qlk problemino...infatti inserendo numeri parecchio grandi il mio programma va in crash in quanto viene lanciata l'eccezione OutOfMemoryError ...

codice:
private boolean[] b;   //questa è la mia variabile per la struttura 
private int n; //serve per contare gli elementi dell'insieme


//il metodo put() che ho scritto io
public boolean put(int s){
		
		if(s<0) throw new IllegalArgumentException("Intero negativo!");
		
		if(s>=b.length) {
			allunga(s);
			set[x]=true;
                        n++;
			return true;
		}
		if(set[s]) return false;
		else{
		set[s]=true;
		n++;
		return true;
		}

//Metodo che aumenta la capacita' dell'array
	private void aumenta(int last) {
		boolean[] b1 = new boolean[last+1];
		System.arraycopy(b, 0, b1, 0, b.length);
		b=b1;
	}
ora quando provo ad inserire un numero mooolto grande..mi si crasha tutto..

suggerimenti?? grazie