У меня есть список целых чисел (в настоящее время используется cern.colt.list.IntArrayList). Я могу называть "shuffle()" и случайным образом перетасовывать их. Я хотел бы иметь возможность воспроизвести перетасовку. Я могу воспроизвести ряд случайных чисел, установив семя. В этом случае я, похоже, не могу установить семя. Что мне делать? Я открыт для других реализаций.
Установка семени для случайного перетаскивания ArrayList в Java
Ответ 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:
Случайно переставить указанный список используя указанный источник хаотичность. Все перестановки происходят с равной вероятностью, полагая, что источник случайности справедлив.
Ответ 3
существует альтернативный метод который берет случайный источник