Подтвердить что ты не робот

Установка семени для случайного перетаскивания ArrayList в Java

У меня есть список целых чисел (в настоящее время используется cern.colt.list.IntArrayList). Я могу называть "shuffle()" и случайным образом перетасовывать их. Я хотел бы иметь возможность воспроизвести перетасовку. Я могу воспроизвести ряд случайных чисел, установив семя. В этом случае я, похоже, не могу установить семя. Что мне делать? Я открыт для других реализаций.

4b9b3361

Ответ 1

Это возможно с помощью метода shuffle, который позволяет вам предоставить экземпляр Random для поддержки Collections.shuffle(List<?> list, Random rnd):

Пример:

Collections.shuffle(yourList, new Random(somePredefinedSeed));

Ответ 2

Вы можете указать случайный экземпляр с начальным значением, используя public static void shuffle (список списка,                          Random rnd). Для конструктора Random (long seed) вы можете указать семя.

Из документов Java:

Случайно переставить указанный список используя указанный источник хаотичность. Все перестановки происходят с равной вероятностью, полагая, что источник случайности справедлив.