Eu não entendi exatamente o que vc quer fazer, mas outra alternativa ao HashSet, caso vc só queira embaralhar uma seqüência de números, é encher o vetor com os números que vc quer e percorrer o vetor inteiro sorteando lugares para vc permutar. Ou seja, a cada iteração vc troca o i-ésimo elemento com um elemento sorteado.
Se quiser sortear os números da Sena, por exemplo (que vão de 01 a 60), crie um ArrayList de Integer que vai de 01 a 60, e use Collections.shuffle. (veja o javadoc de java.util.Collections).
Então pegue os 6 primeiros números desse ArrayList…
import java.util.*;
import java.security.*;
class Sorteio {
public static void main(String[] args) {
int nAlternativas = Integer.parseInt (args[0]);
int nApostas = Integer.parseInt (args[1]);
int nCartoes = Integer.parseInt (args[2]);
List<Integer> numeros = new ArrayList<Integer>();
Random rand = new SecureRandom();
//-- Gerando a lista dos números de 1 a 100, na ordem
for (int i = 1; i <= nAlternativas; ++i) {
numeros.add (new Integer (i));
}
//-- Embaralhando os números
for (int j = 0; j < nCartoes; ++j) {
Collections.shuffle (numeros, rand);
Set<Integer> ordenados = new TreeSet<Integer>();
for (int i = 0; i < nApostas; ++i) {
ordenados.add (numeros.get(i));
}
for (Integer i: ordenados) {
System.out.printf ("%02d ", i);
}
System.out.println ();
}
}
}