Функция fill

Функция fill заменяет все элементы коллекции на указанное значение. Работает с массивами типа Array, IntArray, DoubleArray и другими примитивными массивами, а также с изменяемыми списками типа MutableList.

Импорт

kotlinimport kotlin.collections.fill

Синтаксис

kotlinfun <T> Array<out T>.fill(element: T): Unit
kotlinfun IntArray.fill(element: Int): Unit
kotlinfun <T> MutableList<T>.fill(element: T): Unit

Пример

Заполним массив строк одинаковым значением:

kotlinval arr = arrayOf("a", "b", "c", "d", "e")
arr.fill("x")
println(arr.contentToString())

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

kotlinArray<String> ['x', 'x', 'x', 'x', 'x']

Пример

Заполним массив чисел одинаковым значением:

kotlinval numbers = intArrayOf(1, 2, 3, 4, 5)
numbers.fill(0)
println(numbers.contentToString())

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

kotlinIntArray [0, 0, 0, 0, 0]

Пример

Заполним изменяемый список одинаковыми значениями:

kotlinval list = mutableListOf(1, 2, 3, 4, 5)
list.fill(9)
println(list)

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

kotlinMutableList<Int> [9, 9, 9, 9, 9]

Пример

Функция fill работает только с изменяемыми коллекциями. При попытке вызвать её на обычном неизменяемом списке произойдет ошибка компиляции:

kotlinval immutableList = listOf(1, 2, 3)
immutableList.fill(0) // Ошибка компиляции

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

  • функцию copyOf,
    которая создает копию массива
  • функцию contentToString,
    которая преобразует массив в строку
  • функцию replaceAll,
    которая заменяет элементы по условию