Repetição com random e Array?

Boa tarde, estou desenvolvendo um simulado para um banco de questões, onde eu carrego um .txt com 150 questões para uma determinada classe com enunciado e alternativas. As questões estão sendo carregas e geradas de forma aleatoria ( com o random) corretamente, o problema é que eu preciso garantir que elas não se repitam. Existe algum code/logica que pode ser implementado nesse caso? Ja tentei com uma variavel de disponibilidade e não funcionou.

// GERA QUESTOES ALEATORIAS
public Questoes gerarQuestao(){

         int nquestoes;
         questoes x = null;

         Random random = new Random();
         do{
             nquestoes=random.nextInt(questoes.size());
             x=questoes.get(nquestoes);
         }while(!x.isDisp()==true);
            return x;
     }

Não sei se entendi direito, mas você quer um array com números aleatórios distintos? Se for:

import java.util.Arrays;
import java.util.Random;

class Main {
	public static void main(String[] args) {
		int n = 10, min = 0, max = 150;
		// gera 10 numeros aleatórios distintos entre 0 (inclusivo) e 150 (exclusivo)
		int[] aleatoriosDistintos = arrayComNAleatoriosDistintos(n, min, max); 
		System.out.println(Arrays.toString(aleatoriosDistintos));
	}
	
	public static int[] arrayComNAleatoriosDistintos(int n, int min, int max) {
		return new Random().ints(min, max)
				.distinct()
				.limit(n)
				.toArray();
	}
}

Eu tenho um Array com 150 questões que eu consigo passar para o “programa” de forma aleatoria, preciso de um metodo para conferir que não seja gerado questões repetidas do array. Desculpe-me se não ficou compreensivel .

Então você já tem um array de objetos e quer garantir que não há questões repetidas, é isso?

Isso msm, o codigo que eu estou usando para gerar e pegar as questões é oq eu deixei la encima.

Sugestão: