Тип IntArray
Тип IntArray представляет массив примитивных
целых чисел типа Int. В отличие от обычного
Array, IntArray не требует
боксинга значений, что делает его более эффективным
по памяти и производительности при работе
с большими массивами целых чисел.
Создание IntArray
Создать массив IntArray можно несколькими способами:
// Создание массива заданного размера со значениями по умолчанию (0)
val arr1 = IntArray(5)
// Создание массива с помощью фабричной функции
val arr2 = intArrayOf(1, 2, 3, 4, 5)
// Создание массива с вычисляемыми значениями
val arr3 = IntArray(5) { it * 2 }
Доступ к элементам
Доступ к элементам массива осуществляется по индексу
через оператор []:
val arr = intArrayOf(10, 20, 30, 40, 50)
// Получение элемента по индексу
val firstElement = arr[0]
println(firstElement)
// Изменение элемента по индексу
arr[2] = 100
println(arr[2])
Результат выполнения кода:
Int 10
Int 100
Свойства и методы
IntArray имеет следующие основные свойства и методы:
val 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")
Результат выполнения кода:
Size: 5
First: 1
Last: 5
Is empty: false
Index of 3: 2
Итерация по массиву
Для перебора элементов массива можно использовать различные подходы:
val 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 можно преобразовать в другие типы коллекций:
val 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()}")
Результат выполнения кода:
List: [1, 2, 3, 4, 5]
Set: [1, 2, 3, 4, 5]
Generic array: [1, 2, 3, 4, 5]
Операции с массивами
IntArray поддерживает различные операции:
val 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()}")
Результат выполнения кода:
Combined: [1, 2, 3, 4, 5, 6]
Arrays equal: true
Sorted: [1, 2, 3, 4, 5]