НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
466 of 1310 menu

Функция shuffle

Функция shuffle выполняет случайное перемешивание элементов в изменяемых коллекциях. Функция изменяет исходную коллекцию, переставляя её элементы в случайном порядке. Работает только с изменяемыми коллекциями: MutableList, Array, MutableSet и другими изменяемыми реализациями.

Импорт

import kotlin.collections.shuffle

Синтаксис

fun <T> Array<T>.shuffle(): Unit fun <T> MutableList<T>.shuffle(): Unit fun ByteArray.shuffle(): Unit fun ShortArray.shuffle(): Unit fun IntArray.shuffle(): Unit fun LongArray.shuffle(): Unit fun FloatArray.shuffle(): Unit fun DoubleArray.shuffle(): Unit fun BooleanArray.shuffle(): Unit fun CharArray.shuffle(): Unit

Пример

Перемешаем элементы изменяемого списка:

val numbers = mutableListOf(1, 2, 3, 4, 5) println("Before: $numbers") numbers.shuffle() println("After: $numbers")

Результат выполнения кода:

Before: [1, 2, 3, 4, 5] After: [3, 1, 5, 2, 4]

Пример

Перемешаем элементы массива:

val chars = arrayOf('a', 'b', 'c', 'd', 'e') println("Before: ${chars.contentToString()}") chars.shuffle() println("After: ${chars.contentToString()}")

Результат выполнения кода:

Before: ['a', 'b', 'c', 'd', 'e'] After: ['c', 'e', 'a', 'd', 'b']

Пример

Перемешаем элементы числового массива:

val intArray = intArrayOf(10, 20, 30, 40, 50) println("Before: ${intArray.contentToString()}") intArray.shuffle() println("After: ${intArray.contentToString()}")

Результат выполнения кода:

Before: [10, 20, 30, 40, 50] After: [30, 10, 50, 20, 40]

Для каких типов коллекций работает

Функция shuffle работает со следующими типами коллекций:

  • Array - обычные массивы
  • MutableList - изменяемые списки
  • MutableSet - изменяемые множества
  • IntArray, DoubleArray, CharArray и другие примитивные массивы

Не работает с:

  • List - неизменяемые списки
  • Set - неизменяемые множества
  • Map и MutableMap - отображения
  • Sequence - последовательности

Пример

Попытка использовать shuffle на неизменяемом списке вызовет ошибку компиляции:

val immutableList = listOf(1, 2, 3, 4, 5) immutableList.shuffle() // Ошибка: Unresolved reference: shuffle

Смотрите также

  • функцию shuffled,
    которая возвращает новую перемешанную коллекцию
  • функцию sort,
    которая выполняет сортировку элементов
  • функцию reverse,
    которая переворачивает порядок элементов
  • функцию random,
    которая возвращает случайный элемент из коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить