Menu
CoddyTech

序列运算符

本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 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 在线编辑器