Menu
Coddy logo textTech

Операторы последовательностей

Часть раздела Основы путешествия по 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]

Эти операторы всегда возвращают новый список: исходные списки остаются неизменными. Благодаря этому их можно безопасно использовать, не беспокоясь о случайном изменении ваших данных.

challenge icon

Задание

Средне

Вам будут даны два списка целых чисел и одно целое число для удаления. Объедините два списка с помощью оператора +, затем удалите все вхождения указанного целого числа с помощью оператора - и списка.

Выведите получившийся список.

Формат ввода:

  • Первая строка: целое число 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)
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Kotlin