Okej, więc mam dużą tablice która ma ~ 10000 elementów. Niektóre z tych elementów (nie wiem ile, najczęściej będzie to 0 ale może też się zażyć że będą wszystkie) spełniają jakiś warunek. Chciałbym teraz wylosować jeden z tych elementów który spełnia warunek.
Moja myśl:
- przelecieć pętlą po dużej tablicy
- zapisać wszystkie pasujące elementy do małej tablicy
- wybrać losowy element z małej tablicy
Ale żeby to zrobić mała tablica musiałaby być albo ArrayList
albo mieć rozmiar conajmniej dużej tablicy, ii wtedy pozostała część elementów byłaby pusta.
Nie wiem jak bardzo wydajność się zmniejszy przez zastosowanie ArrayList
zamiast zwykłej tablicy, nie siedzę w javie :/ Jak spec by to zrobił?
PS; wolałbym uniknąć czegoś takiego
do {
element = losowyElement();
} while (element.spelniaWarunek());