Kada tu generuoti atsitiktinius skaičius dažnai sugeneruotas numerio numeris turi būti unikalus. Puikus pavyzdys yra loterijų numerių rinkimas. Kiekvienas skaičius, atsitiktinai parinktas iš diapazono (pvz., Nuo 1 iki 40), turi būti unikalus, nes priešingu atveju loterija nebus tinkama.
Lengviausias būdas pasirinkti unikalius atsitiktinius skaičius yra surinkti skaičių diapazoną į kolekciją, vadinamą „ArrayList“. Jei anksčiau nebuvote susidūrę su „ArrayList“, tai būdas saugoti elementų, kurie neturi fiksuoto skaičiaus, rinkinį. Elementai yra objektai, kuriuos galima įtraukti į sąrašą arba pašalinti iš jo. Pvz., Padarykime loterijos numerio rinkiklį. Tam reikia pasirinkti unikalius skaičius nuo 1 iki 40.
Naudingumo klasė, vadinama Kolekcijos, siūlo įvairius veiksmus, kuriuos galima atlikti su tokia kolekcija kaip ArrayList (pvz., Ieškokite elementų, raskite didžiausią ar mažiausią elementą, pakeiskite elementų eiliškumą ir tt). Vienas iš veiksmų, kuriuos jis gali atlikti, yra elementų maigymas. Maišymas atsitiktinai perkels kiekvieną elementą į kitą sąrašo vietą. Tai daroma naudojant atsitiktinį objektą. Tai reiškia, kad tai yra deterministinis atsitiktinumas, tačiau tai padarys daugeliu atvejų.
Norėdami pasirinkti unikalius atsitiktinius skaičius, paprasčiausiai perskaitykite „ArrayList“ elementus po vieną naudodami metodą get (). Tai laiko elemento poziciją „ArrayList“ kaip parametrą. Pvz., Jei loterijos programai reikia pasirinkti šešis skaičius nuo 1 iki 40: