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

Функция replaceAll

Функция replaceAll применяет указанную функцию-преобразование ко всем элементам изменяемой коллекции и заменяет каждый элемент результатом этого преобразования. Функция работает только с изменяемыми коллекциями: MutableList, ArrayList, Array (с использованием replaceAll из java.util.Arrays).

Импорт

// Для MutableList import kotlin.collections.replaceAll // Для Array (требуется Java Arrays) import java.util.Arrays

Синтаксис

// Для MutableList inline fun <T> MutableList<T>.replaceAll(operator: (T) -> T): Unit // Для Array (через Java Arrays) fun <T> Array<T>.replaceAll(operator: UnaryOperator<T>): Unit

Пример

Заменим все элементы в MutableList, преобразовав числа в их квадраты:

val numbers = mutableListOf(1, 2, 3, 4, 5) numbers.replaceAll { it * it } println(numbers)

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

MutableList<Int> [1, 4, 9, 16, 25]

Пример

Преобразуем все строки в списке в верхний регистр:

val words = mutableListOf("hello", "world", "kotlin") words.replaceAll { it.uppercase() } println(words)

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

MutableList<String> ['HELLO', 'WORLD', 'KOTLIN']

Пример

Использование replaceAll с массивом через java.util.Arrays:

val array = arrayOf(1, 2, 3, 4, 5) Arrays.replaceAll(array) { it * 2 } println(array.contentToString())

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

Array<Int> [2, 4, 6, 8, 10]

Пример

Замена всех элементов с использованием сложной логики преобразования:

val values = mutableListOf(10, 25, 37, 42, 58) values.replaceAll { if (it % 2 == 0) it / 2 else it * 2 } println(values)

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

MutableList<Int> [20, 50, 74, 21, 116]

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

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

  • MutableList - изменяемые списки
  • ArrayList - массивы списков
  • Array - массивы (через java.util.Arrays.replaceAll)

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

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

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

  • функцию map,
    которая создает новую коллекцию с преобразованными элементами
  • функцию mapIndexed,
    которая преобразует элементы с учетом их индекса
  • функцию forEach,
    которая выполняет действие для каждого элемента коллекции
  • функцию transform,
    которая преобразует элементы коллекции по определенным правилам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить