Вікіпідручник ukwikibooks https://uk.wikibooks.org/wiki/%D0%93%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0 MediaWiki 1.47.0-wmf.5 first-letter Медіа Спеціальна Обговорення Користувач Обговорення користувача Вікіпідручник Обговорення Вікіпідручника Файл Обговорення файлу MediaWiki Обговорення MediaWiki Шаблон Обговорення шаблону Довідка Обговорення довідки Категорія Обговорення категорії Полиця Обговорення полиці Рецепт Обговорення рецепта TimedText TimedText talk Модуль Обговорення модуля Подія Обговорення події Освоюємо Kotlin/Масиви 0 8362 41306 39582 2026-06-02T17:25:35Z Володимир Груша 985 /* Одновимірні масиви */ 41306 wikitext text/x-wiki {{Nav|Освоюємо Kotlin|Масиви|programming|nocat=1}} '''Масиви''' - це впорядкований набір однотипних даних певного розміру. В Kotlin масиви поділяються на два види. Один вид - це об'єктного типу масиви на основі класу Array та масиви примітивних типів. Нумерація елементів масиву в Kotlin починається з нуля. ==Одновимірні масиви== Якщо говорити про перший вид масивів, то їх можна створити з допомогою конструктора класу Array або з допомогою функцій arrayOf(), arrayOfNulls() або emptyArray(). Тему конструкторів, класів та об'єктів детально розписана в розділі про [[Освоюємо Kotlin/Об'єктно-орієнтоване програмування|об'єктно-орієнтоване програмування]]. Для початку достатньо прийняти до уваги, що є такий спосіб створення масивів. Робота з масивами незалежить від того як вони створювались. Приклад створення з конструктором: <syntaxhighlight lang="kotlin" line start="1"> val initArray: Array<Int> = Array<Int>(3) { 0 } //пустий масив з трьох елементів val numbersArray = Array(5) { index -> index } //заповнити масив значеннями індексів, тобто (0,1,2,3,4) </syntaxhighlight> Приклад створення масиву через функцію: <syntaxhighlight lang="kotlin" line start="1"> var m = arrayOf(1, 2, 3, 2, 10) // оголошення масиву з п'ятьма числами типу Int </syntaxhighlight> Робота з масивами в Kotlin здійснюється наступним чином: <syntaxhighlight lang="kotlin" line start="1" highlight="5"> var myArray = arrayOf(1, 2, 3) // оголошення масиву з трьома числами типу Int println(myArray[0]) // звернення до першого (нульового) елемента масиву println (myArray.size) // отримання розміру масива val myArray2=arrayOf<String>("Mariyka", "Pasha", "Kolya") // явне вказання типу масиву val myArray2: Array<String> = arrayOf("Mariyka", "Pasha", "Kolya")// можна також так вказувати тип </syntaxhighlight> Зверніть увагу, що після <code><String></code> в 5-му рядку ми ставимо пробіл, інакше компілятор видасть помилку про відсутність <code>></code> Звернення до масиву можна реалізувати двома способами: 1) з використанням квадратних дужок; 2) з використанням функцій get() та set(): <syntaxhighlight lang="kotlin" line start="1"> val x:Array<Int>=arrayOf(1,3,5,6,3) // напис Array<Int> можна опустити println ("[3]="+x.get(3)) // читаєм значення третьої комірки println ("[4]="+x[4]) //читаємо значення четвертої комірки x[2]=10 //змінюємо значення другої комірки на 10 x.set(3, 8) // змінюємо значення третьої комірки на 8 println("Змінений масив: ${x.joinToString()}") // вивід значень масиву в один рядок </syntaxhighlight> {{XConsole|1='''Результат:''' <pre> [3]=6 [4]=3 Змінений масив: 1, 3, 10, 8, 3 </pre>}} Рекомендованим є спосіб звернення через квадратні дужки. Вивести вміст масиву на консоль можна так: <syntaxhighlight lang="kotlin" line start="1" highlight="2"> val myArray2: Array<String> = arrayOf("Mariyka", "Pasha", "Kolya") println(myArray2.joinToString()) // Виведе: Mariyka, Pasha, Kolya println (myArray2.contentToString()) // Виведе: [Mariyka, Pasha, Kolya] </syntaxhighlight> Можна створити пустий масив з певної кількості елементів, наприклад: <syntaxhighlight lang="kotlin" line start="1" highlight="3"> val myArray = Array(10) { "" } // масив з 10-ти елементів типу String, з пустими рядками val nullableArray = arrayOfNulls<String>(10) //String масив з невизначеними значеннями (null) val intArray = IntArray(10) //для цілих чисел можна так створити масив з десятьма нулями val intArray = Array(10) { 0 } // те ж саме цілочисельний масив з десятьма нулями </syntaxhighlight> Зверніть увагу на третій рядок. Всі базові (примітивні) типи мають свої реалізації масивів для ефективнішої роботи, тобто існує ByteArray, DoubleArray і т.п. Робота з ними дещо швидша. Так, масив цілих чисел типу IntArray можна задати так: <syntaxhighlight lang="kotlin" line start="1"> val x:IntArray=intArrayOf(1,3,5,6,3) //IntArray </syntaxhighlight> Аналогічно працюємо і з іншими типами даних. Якщо масив визначається не з допомогою ключового слова var, а з допомогою val, то створену змінну не можна буде перенаправити на інший масив. При цьому елементи масиву можна змінювати. Змінну масиву оголошену з var можна перенаправити на інший масив, але лише того ж типу, що і перший масив. Тобто, якщо початковий масив був Int, то можна перенаправити змінну лише на масив також Int типу. Перебрати елементи масиву по порядку можна так: <syntaxhighlight lang="kotlin" line start="1"> val myArray2: Array<String> = arrayOf("Mariyka", "Pasha", "Kolya", "Nastya", "Ніна") myArray2.forEach { println("Name: $it") // використовуємо ключове слово it } </syntaxhighlight> {{XConsole|1='''Результат:''' <pre> Name: Mariyka Name: Pasha Name: Kolya Name: Nastya Name: Ніна </pre>}} Інший спосіб перебрати масиви - це цикли (див. розділ «[[Освоюємо Kotlin/Цикли|Цикли]]») ==Багатовимірні масиви== Двовимірний масив можна створити так: <syntaxhighlight lang="kotlin" line start="1"> val matrix = arrayOf( arrayOf(1, 2, 3), arrayOf(4, 5, 6), arrayOf(7, 8, 9) ) </syntaxhighlight> Таким чином ми створили двовимірний масив (таблицю), де кожен внутрішній масив є рядком. Масив 3x4 з заповненням нулями можна створити так: <syntaxhighlight lang="kotlin" line start="1"> val array = Array(3) { Array(4) { 0 } } </syntaxhighlight> Звернення до елементів двовимірного масиву: <syntaxhighlight lang="kotlin" line start="1"> val element = matrix[1][2] </syntaxhighlight> Рядки в двовимірному масиві, при потребі, можуть мати різну довжину. Щоб отримати кількість рядків (перший вимір), використовуйте <code>array.size</code>. Щоб отримати кількість стовпців (другий вимір) у конкретному рядку, використовуйте <code>array[0].size</code>. ==Масиви з елементами змішаного типу== В Kotlin можна створити масив з елементами змішаного типу використовуючи тип Any: <syntaxhighlight lang="kotlin" line start="1"> val mixedTypeArray: Array<Array<Any>> = arrayOf( arrayOf("Ім'я", 25, true), arrayOf("Інше ім'я", 30, false) ) </syntaxhighlight> Звернення елементів відбувається як і у звичайному багатовимірному масиві за індексами: <syntaxhighlight lang="kotlin" line start="1"> // Доступ до елементів println(mixedTypeArray[0][0]) // Виведе: Ім'я println(mixedTypeArray[0][1]) // Виведе: 25 </syntaxhighlight> [[Категорія:Освоюємо Kotlin]] {{Nav}} bfvufclkow5n18j5lv2d916p1obk9rt 41307 41306 2026-06-02T17:32:56Z Володимир Груша 985 /* Одновимірні масиви */ 41307 wikitext text/x-wiki {{Nav|Освоюємо Kotlin|Масиви|programming|nocat=1}} '''Масиви''' - це впорядкований набір однотипних даних певного розміру. В Kotlin масиви поділяються на два види. Один вид - це об'єктного типу масиви на основі класу Array та масиви примітивних типів. Нумерація елементів масиву в Kotlin починається з нуля. ==Одновимірні масиви== Якщо говорити про перший вид масивів, то їх можна створити з допомогою конструктора класу Array або з допомогою функцій arrayOf(), arrayOfNulls() або emptyArray(). Тему конструкторів, класів та об'єктів детально розписана в розділі про [[Освоюємо Kotlin/Об'єктно-орієнтоване програмування|об'єктно-орієнтоване програмування]]. Для початку достатньо прийняти до уваги, що є такий спосіб створення масивів. Робота з масивами незалежить від того як вони створювались. Приклад створення з конструктором: <syntaxhighlight lang="kotlin" line start="1"> val initArray: Array<Int> = Array<Int>(3) { 0 } //пустий масив з трьох елементів val numbersArray = Array(5) { index -> index } //заповнити масив значеннями індексів, тобто (0,1,2,3,4) val numberArray2: Array<Int> = Array(5){it} // те ж саме, що і попередній рядок </syntaxhighlight> Приклад створення масиву через функцію: <syntaxhighlight lang="kotlin" line start="1"> var m = arrayOf(1, 2, 3, 2, 10) // оголошення масиву з п'ятьма числами типу Int </syntaxhighlight> Робота з масивами в Kotlin здійснюється наступним чином: <syntaxhighlight lang="kotlin" line start="1" highlight="5"> var myArray = arrayOf(1, 2, 3) // оголошення масиву з трьома числами типу Int println(myArray[0]) // звернення до першого (нульового) елемента масиву println (myArray.size) // отримання розміру масива val myArray2=arrayOf<String>("Mariyka", "Pasha", "Kolya") // явне вказання типу масиву val myArray2: Array<String> = arrayOf("Mariyka", "Pasha", "Kolya")// можна також так вказувати тип </syntaxhighlight> Зверніть увагу, що після <code><String></code> в 5-му рядку ми ставимо пробіл, інакше компілятор видасть помилку про відсутність <code>></code> Звернення до масиву можна реалізувати двома способами: 1) з використанням квадратних дужок; 2) з використанням функцій get() та set(): <syntaxhighlight lang="kotlin" line start="1"> val x:Array<Int>=arrayOf(1,3,5,6,3) // напис Array<Int> можна опустити println ("[3]="+x.get(3)) // читаєм значення третьої комірки println ("[4]="+x[4]) //читаємо значення четвертої комірки x[2]=10 //змінюємо значення другої комірки на 10 x.set(3, 8) // змінюємо значення третьої комірки на 8 println("Змінений масив: ${x.joinToString()}") // вивід значень масиву в один рядок </syntaxhighlight> {{XConsole|1='''Результат:''' <pre> [3]=6 [4]=3 Змінений масив: 1, 3, 10, 8, 3 </pre>}} Рекомендованим є спосіб звернення через квадратні дужки. Вивести вміст масиву на консоль можна так: <syntaxhighlight lang="kotlin" line start="1" highlight="2"> val myArray2: Array<String> = arrayOf("Mariyka", "Pasha", "Kolya") println(myArray2.joinToString()) // Виведе: Mariyka, Pasha, Kolya println (myArray2.contentToString()) // Виведе: [Mariyka, Pasha, Kolya] </syntaxhighlight> Можна створити пустий масив з певної кількості елементів, наприклад: <syntaxhighlight lang="kotlin" line start="1" highlight="3"> val myArray = Array(10) { "" } // масив з 10-ти елементів типу String, з пустими рядками val nullableArray = arrayOfNulls<String>(10) //String масив з невизначеними значеннями (null) val intArray = IntArray(10) //для цілих чисел можна так створити масив з десятьма нулями val intArray = Array(10) { 0 } // те ж саме цілочисельний масив з десятьма нулями </syntaxhighlight> Зверніть увагу на третій рядок. Всі базові (примітивні) типи мають свої реалізації масивів для ефективнішої роботи, тобто існує ByteArray, DoubleArray і т.п. Робота з ними дещо швидша. Так, масив цілих чисел типу IntArray можна задати так: <syntaxhighlight lang="kotlin" line start="1"> val x:IntArray=intArrayOf(1,3,5,6,3) //IntArray </syntaxhighlight> Аналогічно працюємо і з іншими типами даних. Якщо масив визначається не з допомогою ключового слова var, а з допомогою val, то створену змінну не можна буде перенаправити на інший масив. При цьому елементи масиву можна змінювати. Змінну масиву оголошену з var можна перенаправити на інший масив, але лише того ж типу, що і перший масив. Тобто, якщо початковий масив був Int, то можна перенаправити змінну лише на масив також Int типу. Перебрати елементи масиву по порядку можна так: <syntaxhighlight lang="kotlin" line start="1"> val myArray2: Array<String> = arrayOf("Mariyka", "Pasha", "Kolya", "Nastya", "Ніна") myArray2.forEach { println("Name: $it") // використовуємо ключове слово it } </syntaxhighlight> {{XConsole|1='''Результат:''' <pre> Name: Mariyka Name: Pasha Name: Kolya Name: Nastya Name: Ніна </pre>}} Інший спосіб перебрати масиви - це цикли (див. розділ «[[Освоюємо Kotlin/Цикли|Цикли]]») ==Багатовимірні масиви== Двовимірний масив можна створити так: <syntaxhighlight lang="kotlin" line start="1"> val matrix = arrayOf( arrayOf(1, 2, 3), arrayOf(4, 5, 6), arrayOf(7, 8, 9) ) </syntaxhighlight> Таким чином ми створили двовимірний масив (таблицю), де кожен внутрішній масив є рядком. Масив 3x4 з заповненням нулями можна створити так: <syntaxhighlight lang="kotlin" line start="1"> val array = Array(3) { Array(4) { 0 } } </syntaxhighlight> Звернення до елементів двовимірного масиву: <syntaxhighlight lang="kotlin" line start="1"> val element = matrix[1][2] </syntaxhighlight> Рядки в двовимірному масиві, при потребі, можуть мати різну довжину. Щоб отримати кількість рядків (перший вимір), використовуйте <code>array.size</code>. Щоб отримати кількість стовпців (другий вимір) у конкретному рядку, використовуйте <code>array[0].size</code>. ==Масиви з елементами змішаного типу== В Kotlin можна створити масив з елементами змішаного типу використовуючи тип Any: <syntaxhighlight lang="kotlin" line start="1"> val mixedTypeArray: Array<Array<Any>> = arrayOf( arrayOf("Ім'я", 25, true), arrayOf("Інше ім'я", 30, false) ) </syntaxhighlight> Звернення елементів відбувається як і у звичайному багатовимірному масиві за індексами: <syntaxhighlight lang="kotlin" line start="1"> // Доступ до елементів println(mixedTypeArray[0][0]) // Виведе: Ім'я println(mixedTypeArray[0][1]) // Виведе: 25 </syntaxhighlight> [[Категорія:Освоюємо Kotlin]] {{Nav}} m0sobgopersf015an1dwrsvknakqzv9