Тип IntArray

Тип IntArray представляет массив примитивных целых чисел типа Int. В отличие от обычного Array<Int>, IntArray не требует боксинга значений, что делает его более эффективным по памяти и производительности при работе с большими массивами целых чисел.

Создание IntArray

Создать массив IntArray можно несколькими способами:

kotlin// Создание массива заданного размера со значениями по умолчанию (0)
val arr1 = IntArray(5)

// Создание массива с помощью фабричной функции
val arr2 = intArrayOf(1, 2, 3, 4, 5)

// Создание массива с вычисляемыми значениями
val arr3 = IntArray(5) { it * 2 }

Доступ к элементам

Доступ к элементам массива осуществляется по индексу через оператор []:

kotlinval arr = intArrayOf(10, 20, 30, 40, 50)

// Получение элемента по индексу
val firstElement = arr[0]
println(firstElement)

// Изменение элемента по индексу
arr[2] = 100
println(arr[2])

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

kotlinInt 10
Int 100

Свойства и методы

IntArray имеет следующие основные свойства и методы:

kotlinval arr = intArrayOf(1, 2, 3, 4, 5)

// Размер массива
val size = arr.size
println("Size: $size")

// Первый элемент
val first = arr.first()
println("First: $first")

// Последний элемент
val last = arr.last()
println("Last: $last")

// Проверка на пустоту
val isEmpty = arr.isEmpty()
println("Is empty: $isEmpty")

// Поиск индекса элемента
val index = arr.indexOf(3)
println("Index of 3: $index")

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

kotlinSize: 5
First: 1
Last: 5
Is empty: false
Index of 3: 2

Итерация по массиву

Для перебора элементов массива можно использовать различные подходы:

kotlinval arr = intArrayOf(10, 20, 30, 40, 50)

// Цикл for по индексам
for (i in arr.indices) {
  println("Index $i: ${arr[i]}")
}

// Цикл for по элементам
for (element in arr) {
  println("Element: $element")
}

// Метод forEach
arr.forEach { element ->
  println("ForEach: $element")
}

Преобразования

IntArray можно преобразовать в другие типы коллекций:

kotlinval arr = intArrayOf(1, 2, 3, 4, 5)

// В List
val list = arr.toList()
println("List: $list")

// В Set
val set = arr.toSet()
println("Set: $set")

// В обычный Array<Int>
val genericArray = arr.toTypedArray()
println("Generic array: ${genericArray.contentToString()}")

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

kotlinList: [1, 2, 3, 4, 5]
Set: [1, 2, 3, 4, 5]
Generic array: [1, 2, 3, 4, 5]

Операции с массивами

IntArray поддерживает различные операции:

kotlinval arr1 = intArrayOf(1, 2, 3)
val arr2 = intArrayOf(4, 5, 6)

// Объединение массивов
val combined = arr1 + arr2
println("Combined: ${combined.contentToString()}")

// Сравнение массивов
val isEqual = arr1.contentEquals(intArrayOf(1, 2, 3))
println("Arrays equal: $isEqual")

// Сортировка массива
val unsorted = intArrayOf(5, 3, 1, 4, 2)
unsorted.sort()
println("Sorted: ${unsorted.contentToString()}")

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

kotlinCombined: [1, 2, 3, 4, 5, 6]
Arrays equal: true
Sorted: [1, 2, 3, 4, 5]

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

  • тип Array,
    который представляет универсальный массив объектов
  • тип Int,
    который представляет примитивный целочисленный тип
  • тип List,
    который представляет неизменяемый список элементов
  • тип ArrayList,
    который представляет изменяемый список на основе массива