Что предложит использовать этот метод?
Обновление: Я вижу точку теперь. Мне нравится причина Uri "Перестановка, не тривиальный алгоритм". Это довольно верно.
Может быть много причин, по которым вы захотите случайным образом перемешать упорядоченную последовательность элементов. Например, колода карт.
Перемешивание - нетривиальный алгоритм, так же как и сортировка - поэтому он достаточно распространен, чтобы потребовать библиотечную функцию.
Относительно того, почему список - очевидно, что это должна быть упорядоченная коллекция, а не какая-то общая коллекция. Гарантированно упорядочивается только список и его подтипы. Класс Collections не поддерживает операции с массивами, но вы можете (и, вероятно, должны для повышения производительности) передать ArrayList этому методу.
Гм , если у вас есть коллекция, и вы хотите ее перетасовать ...
Самым очевидным примером может быть карточная игра, в которой у вас есть объекты, представляющие отдельные карты, и коллекция, представляющая колоду, которую вы хотите перетасовать.
Другой пример: вы представляете пользователю несколько ответов в анкете и не хотите, чтобы возникла предвзятость из-за порядка ответов, поэтому вы представляете каждому пользователю перемешанный набор ответов. выбирать из.
Некоторые идеи, как можно использовать этот метод:
Что ж, представьте, что вы моделируете колоду карт. Shuffle будет одной из первых функций, которые вы напишете.
Каждый раз, когда вы хотите рандомизировать содержимое коллекции, вы должны использовать перемешивание.