List и MutableList
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 67 из 93.
До сих пор вы работали с отдельными переменными, которые хранят одиночные значения. Но что, если вам нужно сохранить коллекцию элементов, например список имён или последовательность чисел? Здесь на помощь приходят списки.
Kotlin предоставляет два типа списков: List и MutableList. Ключевое различие заключается в том, можете ли вы изменять список после его создания.
List доступен только для чтения. Его интерфейс не предоставляет операций для добавления, удаления или замены элементов. Это не является гарантией глубокой неизменяемости: тот же изменяемый базовый объект может измениться через другую ссылку:
val fruits = listOf("Apple", "Banana", "Cherry")
val numbers = listOf(1, 2, 3, 4, 5)MutableList позволяет вносить изменения. Вы можете добавлять новые элементы, удалять существующие или обновлять значения:
val fruits = mutableListOf("Apple", "Banana")
fruits.add("Cherry") // Теперь содержит: Apple, Banana, CherryИспользуйте listOf(), когда ваши данные не должны изменяться, и mutableListOf(), когда вам нужна гибкость. Это различие помогает предотвратить случайные изменения и делает назначение вашего кода более ясным.
Задание
СреднеСоздай список только для чтения с именем colors, содержащий три строки: "Red", "Green" и "Blue".
Затем создай изменяемый список с именем numbers, содержащий в начале два целых числа: 10 и 20.
Добавь значение 30 в список numbers.
Наконец, выведи оба списка в отдельных строках в следующем порядке:
- Список
colors - Список
numbers
Попробуйте сами
fun main() {
// TODO: Создайте список только для чтения под названием 'colors' с "Red", "Green", "Blue"
// TODO: Создайте изменяемый список под названием 'numbers' с 10 и 20
// TODO: Добавьте 30 в список numbers
// TODO: Выведите оба списка на отдельных строках (сначала colors, затем numbers)
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический ввод12Основы списков
List и MutableListДоступ к элементамИзменение списковМетоды списковПара и тройкаПовторение — список товаровПовторение — перевёрнутый списокПотренируйтесь самостоятельно: Песочница Kotlin