Ciao a tutti ragazzi, sto scrivendo questo codice per un esame.

Praticamente prendo da un database(File di testo) una lista di partecipanti a una lotteria.
Devo estrarre tre nomi per 3 possibili premi.

Il programma funziona tranne nella parte in cui si esclude che chi abbia già vinto un premio(primo estratto) posso vincerne un altro.
Ed è qui che non riesco a capire come fare l'esclusione.

Mi aiutereste please?

codice:
import java.util.*;import java.io.*;

public class GestoreLotteria {
    public static ArrayList<Utente>utenti=new ArrayList<Utente>();
    public static String nome,cognome,città,data;
    public static int num=0;
    public static int totaleUtenti;
    public static int primo,secondo,terzo;
    public static Random estrai=new Random();
    
    
    public static void main(String[] args) throws FileNotFoundException {        
        
        Scanner scan=new Scanner(new File("databaseLotteria2.txt"));
        while(scan.hasNext())
        {
        nome=scan.next();
        cognome=scan.next();
        città=scan.next();
        num=num+1;
            
        utenti.add(new Utente(nome,cognome,città,data,num));
        }
        totaleUtenti=num;
        
        System.out.println("Utenti presenti nel database:" );
        
        //ESTRAZIONE 
        for(int i=0;i<utenti.size();i++)
        {
            System.out.println(utenti.get(i).toString());
            primo=estrai.nextInt(totaleUtenti);
            secondo=estrai.nextInt(totaleUtenti-primo);
            terzo=estrai.nextInt(totaleUtenti-primo-secondo);
        }
    
    
    System.out.println(" ");
    System.out.println(" il primo premio va a " +utenti.get(primo).toString());
    System.out.println(" il secondo premio va a " +utenti.get(secondo).toString());
    System.out.println(" il terzo premio va a " +utenti.get(terzo).toString());
    
    }


}