Generera unika slumpmässiga nummer med Java

click fraud protection

När du generera slumpmässiga nummer det är ofta så att varje genererat nummer måste vara unikt. Ett bra exempel är att välja lottonummer. Varje nummer som valts slumpmässigt från ett intervall (t.ex. 1 till 40) måste vara unikt, annars skulle lotteriteckningen vara ogiltig.

Det enklaste sättet att välja unika slumpmässiga siffror är att lägga antalet i en samling som kallas en ArrayList. Om du inte har stött på en ArrayList tidigare, är det ett sätt att lagra en uppsättning element som inte har ett fast nummer. Elementen är objekt som kan läggas till eller tas bort från listan. Låt oss till exempel göra lottnummerväljaren. Det måste välja unika nummer från 1 till 40.

En verktygsklass som heter samlingar erbjuder olika åtgärder som kan utföras på en samling som en ArrayList (t.ex. sök elementen, hitta det maximala eller minsta elementet, omvänd ordning på elementen och så vidare). En av de åtgärder som den kan utföra är att blanda elementen. Blandningen flyttar slumpmässigt varje element till en annan position i listan. Det gör detta genom att använda ett slumpmässigt objekt. Detta betyder att det är en deterministisk slumpmässighet, men det kommer att göra i de flesta situationer.

instagram viewer

För att välja de unika slumpmässiga siffrorna läser du ArrayList-elementen en och en genom att använda metoden get (). Det tar positionen för elementet i ArrayList som en parameter. Om till exempel lotteriprogrammet måste välja sex siffror från intervallet 1 till 40:

instagram story viewer