Ajuda com vetores

Tenho o seguinte trecho, está sorteando como deveria, mas ao clicar no botão quando o número já foi sorteado ele não faz nada, tendo que clicar no botão até o número mudar (sortear outro novamente), gostaria de pular esta etapa, pois fica muito ruim na visualização. É um programa bem simples pra sortear números, em de ser no celular.

private void btnSortearActionPerformed(java.awt.event.ActionEvent evt) {
kpos++;
Random gerador = new Random();

    int sorteio = gerador.nextInt(181);
    boolean repetido = false;
    
    for(int k = 0; k < drawn.length; k++){
    if(sorteio == drawn[k]){
        repetido = true;
        }
    }
    if(!repetido){
        lblNumero.setText(sorteio + "");
        drawn[kpos] = sorteio;
    }
}

Não seria mais simples você ter uma lista com os números disponíveis para sorteio e ir removendo esses números da lista?

private List<Integer> numeros = criarNumeros();

private List<Integer> criarNumeros() {
    List<Integer> list = new ArrayList<>();
    for (int numero = 0; numero < 181; numero++) {
        list.add(numero);
    }
    return list;
}

private void btnSortearActionPerformed(java.awt.event.ActionEvent evt) {
    Random gerador = new Random();
    int posicao = gerador.nextInt(numeros.size());
    int numeroSorteado = numeros.remove(posicao);
    lblNumero.setText(String.valueOf(numeroSorteado));
}
1 curtida

Verdade, apliquei uma ideia um pouco mais complexa. Obrigado!