シーケンス演算子
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 81/93。
Kotlin はリストを結合するための + 演算子を提供しており、コレクション同士を簡単にマージできます。これは文字列を連結する方法と似ています。
2つのリストを1つに結合するには、単に+演算子を使用します:
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]これらの演算子は常に新しいリストを返します。元のリストは変更されません。そのため、データを誤って変更してしまう心配なく安全に使用できます。
チャレンジ
中級2つの整数リストと、削除する1つの整数が与えられます。+演算子を使用して2つのリストを結合し、その後、リストとともに-演算子を使用して指定された整数の出現箇所をすべて削除してください。
結果のリストを出力してください。
入力形式:
- 1行目: 1つ目のリストの要素数を表す整数
n - 次の
n行: 1つ目のリストの整数 - 次の行: 2つ目のリストの要素数を表す整数
m - 次の
m行: 2つ目のリストの整数 - 最後の行: 結合したリストから削除する整数
出力形式:
Kotlinのデフォルトのリスト形式で結果のリストを出力してください。
例:
1つ目のリストが[1, 2, 3]、2つ目のリストが[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())
}
// 2番目のリストを読み込む
val m = readLine()!!.toInt()
val list2 = mutableListOf<Int>()
repeat(m) {
list2.add(readLine()!!.toInt())
}
// 削除する整数を読み込む
val toRemove = readLine()!!.toInt()
// TODO: ここにコードを書いてください
// + 演算子を使って2つのリストを結合する
// リストと - 演算子を使って toRemove のすべての出現を削除する
// 結果のリストを出力する
println(result)
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド