altrimenti, utilizzando un array d'appoggio, qualcosa del genere:
codice:
// se l'array è ordinato. Altrimenti conviene ordinarlo, per mantenere la complessità
//dell'algoritmo lineare.
int[] a = {0,0,1,1,2,2,3,4,5,6,6,7,7,10 };
        int[] b = new int[a.length];

// in ogni caso, il primo elemento di a sarà presente
// nell'array dei non duplicati. Lo aggiungiamo e facciamo i conti
// a partire della posizione successiva
        b[0] = a[0];
// counter tiene conto di quanti elementi diversi ci sono        
        int counter = 1;

// cicliamo su tutti gli elementi di a        
        for (int i = 0; i < a.length; i++) {

// se l'elemento ultimo inserito in b è diverso dall'elemento corrente di a
// allora inseriamo tale elemento in b ed aumentiamo il contantore
            if (b[counter-1] != a[i]) {
                b[counter] = a[i];
                counter++;
            }
        }

// questo serve solo a ripulire l'eventuale output.
        int[] v = new int[counter];
        for (int i = 0; i < v.length; i++) {
            v[i] = b[i];
            System.out.println(v[i]);
        }