Amikor te generál véletlen számokat gyakran előfordul, hogy minden generált számnak egyedinek kell lennie. Jó példa a lottószámok szedése. A tartományból véletlenszerűen kiválasztott számoknak (pl. 1–40) egyedinek kell lennie, különben a lottó sorsolás érvénytelen lenne.
Az egyedi véletlen számok kiválasztásának legegyszerűbb módja az, ha a számtartományt ArrayList néven gyűjtik. Ha korábban még nem találkozott egy ArrayList-lel, ez egy olyan elem tárolására szolgáló módszer, amelynek nincs rögzített száma. Az elemek objektumok, amelyek felvehetők a listába, vagy eltávolíthatók a listáról. Tegyük fel például a lottószám-válogatót. Egyedi számokat kell kiválasztania 1 és 40 között.
A Gyűjtemények elnevezésű segédprogram osztály különféle műveleteket kínál, amelyek elvégezhetők a gyűjteményen, mint például ArrayList (például keressen az elemek között, keresse meg a maximális vagy minimális elemet, fordítsa meg az elemek sorrendjét és hamar). Az egyik művelet, amelyet elvégezhet, az elemek keverése. A véletlenszerű kiválasztás az elemeket véletlenszerűen mozgatja egy másik helyre a listában. Ezt véletlenszerű objektum segítségével teszi meg. Ez azt jelenti, hogy ez egy determinisztikus véletlenszerűség, de a legtöbb helyzetben meg fog tenni.
Az egyedi véletlen számok kiválasztásához egyszerűen olvassa el az ArrayList elemeket egyenként a get () módszer használatával. Paraméterként veszi az elem pozícióját az ArrayList-ben. Például, ha a lottóprogramnak hat számot kell kiválasztania az 1 és 40 közötti tartományban: