Collections.shuffle()
Перемешивает элементы списка в случайном порядке.
Доступно с: Java 1.2
Синтаксис
static void shuffle(List<?> list)
static void shuffle(List<?> list, Random rnd)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| list | List<?> | Изменяемый список. |
| rnd | Random | Необязательный генератор случайных чисел. |
Примеры
С генератором с фиксированным начальным значением результат повторяется:
void main() {
List<Integer> cards = new ArrayList<>(List.of(1, 2, 3, 4, 5, 6));
Collections.shuffle(cards, new Random(42));
IO.println(cards);
}Результат:
[2, 1, 5, 6, 4, 3]Примечания
Без второго аргумента порядок при каждом запуске разный. Передавайте new Random(seed), когда нужен воспроизводимый результат — в тестах или для повторяемой раздачи. Неизменяемый список бросит UnsupportedOperationException.
См. также
- Collections.reverse() — Разворачивает порядок элементов списка на месте.
- Collections.sort() — Сортирует список на месте.
Вопросы и ответы по теме
В учебнике
- Вспомогательные методы коллекций — Класс Collections и полезные методы Java: max, min, frequency, reverse, shuffle, nCopies, неизменяемые копии и представления, Arrays.asList.