Операторы последовательностей
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 81 из 93.
Kotlin предоставляет оператор + для объединения списков, что упрощает слияние коллекций. Это работает аналогично конкатенации строк.
Чтобы объединить два списка в один, просто используй оператор +:
val first = listOf(1, 2, 3)
val second = listOf(4, 5, 6)
val combined = first + second
println(combined) // [1, 2, 3, 4, 5, 6]Вы также можете добавить один элемент в список, используя тот же оператор:
val colors = listOf("Red", "Green")
val moreColors = colors + "Blue"
println(moreColors) // [Red, Green, Blue]Оператор - удаляет элементы из списка. Он создаёт новый список без указанного элемента:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - 2
println(result) // [1, 3, 2, 4]Обратите внимание, что удаляется только первое вхождение элемента. Чтобы удалить все совпадающие элементы, вместо этого следует вычесть список:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - listOf(2)
println(result) // [1, 3, 4]Эти операторы всегда возвращают новый список: исходные списки остаются неизменными. Благодаря этому их можно безопасно использовать, не беспокоясь о случайном изменении ваших данных.
Задание
СреднеВам будут даны два списка целых чисел и одно целое число для удаления. Объедините два списка с помощью оператора +, затем удалите все вхождения указанного целого числа с помощью оператора - и списка.
Выведите получившийся список.
Формат ввода:
- Первая строка: целое число
n, обозначающее количество элементов в первом списке - Следующие
nстрок: целые числа для первого списка - Следующая строка: целое число
m, обозначающее количество элементов во втором списке - Следующие
mстрок: целые числа для второго списка - Последняя строка: целое число, которое нужно удалить из объединённого списка
Формат вывода:
Выведите получившийся список в формате списка по умолчанию в Kotlin.
Пример:
Если первый список — [1, 2, 3], второй список — [2, 4, 2], а число для удаления — 2, объединённый список будет выглядеть так: [1, 2, 3, 2, 4, 2]. После удаления всех вхождений 2 результат должен быть следующим:
[1, 3, 4]Попробуйте сами
fun main() {
// Прочитать первый список
val n = readLine()!!.toInt()
val list1 = mutableListOf<Int>()
repeat(n) {
list1.add(readLine()!!.toInt())
}
// Прочитать второй список
val m = readLine()!!.toInt()
val list2 = mutableListOf<Int>()
repeat(m) {
list2.add(readLine()!!.toInt())
}
// Прочитать целое число для удаления
val toRemove = readLine()!!.toInt()
// TODO: Напишите ваш код здесь
// Объединить два списка с помощью оператора +
// Удалить все вхождения toRemove с помощью оператора - со списком
// Вывести результирующий список
println(result)
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Продвинутые списки
Срезы списков с помощью SubListСрезы списков с помощью Take и DropОператоры последовательностейМетод ContainsПовторение — поиск страницы3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Kotlin