mercredi 5 août 2020

How to check, remove and replace duplicate values inside an Array List?

I would like to generate 5 random numbers and if the number already exists, remove it and replace it with a new one. Repeating the process until all the numbers generated are unique. However, I am stuck as I keep getting duplicate values inside my array.

import java.util.Random;
import java.util.ArrayList;

public class Question2_NEW
{
    public static void main (String[] args)
    {
        System.out.println("Generating 5 random numbers from 0 to 5...");

        Random rand = new Random();
        int generate = rand.nextInt((5) + 1);
        ArrayList<Integer> randomNumbers = new ArrayList<Integer>();
        
        for (int i = 0; i < 5; i++)
        {
            generate = rand.nextInt((5) + 1);
            randomNumbers.add(generate);

            while (randomNumbers.contains(generate)) 
            {
                randomNumbers.remove(randomNumbers.get(i));
                generate = rand.nextInt((5) + 1);
                randomNumbers.add(generate);
                break;
            }
        }

        for (Integer i : randomNumbers) 
        {
            System.out.println(i);
        }
    }
}



Aucun commentaire:

Enregistrer un commentaire