Sequenzoperatoren
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 81 von 93.
Kotlin stellt den Operator + zum Kombinieren von Listen bereit, wodurch sich Sammlungen einfach zusammenführen lassen. Dies funktioniert ähnlich wie das Verketten von Zeichenfolgen.
Um zwei Listen zu einer zu verbinden, verwende einfach den Operator +:
val first = listOf(1, 2, 3)
val second = listOf(4, 5, 6)
val combined = first + second
println(combined) // [1, 2, 3, 4, 5, 6]Du kannst einer Liste auch ein einzelnes Element mit demselben Operator hinzufügen:
val colors = listOf("Red", "Green")
val moreColors = colors + "Blue"
println(moreColors) // [Red, Green, Blue]Der Operator - entfernt Elemente aus einer Liste. Er erstellt eine neue Liste ohne das angegebene Element:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - 2
println(result) // [1, 3, 2, 4]Beachte, dass nur das erste Vorkommen des Elements entfernt wird. Um alle übereinstimmenden Elemente zu entfernen, würdest du stattdessen eine Liste subtrahieren:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - listOf(2)
println(result) // [1, 3, 4]Diese Operatoren geben immer eine neue Liste zurück: Die ursprünglichen Listen bleiben unverändert. Dadurch kannst du sie sicher verwenden, ohne dir Sorgen machen zu müssen, deine Daten versehentlich zu verändern.
Aufgabe
MittelDu erhältst zwei Listen mit Ganzzahlen und eine einzelne zu entfernende Ganzzahl. Kombiniere die beiden Listen mit dem Operator + und entferne anschließend alle Vorkommen der angegebenen Ganzzahl mit dem Operator - und einer Liste.
Gib die resultierende Liste aus.
Eingabeformat:
- Erste Zeile: eine Ganzzahl
n, die die Anzahl der Elemente in der ersten Liste angibt - Die nächsten
nZeilen: Ganzzahlen für die erste Liste - Nächste Zeile: eine Ganzzahl
m, die die Anzahl der Elemente in der zweiten Liste angibt - Die nächsten
mZeilen: Ganzzahlen für die zweite Liste - Letzte Zeile: die aus der kombinierten Liste zu entfernende Ganzzahl
Ausgabeformat:
Gib die resultierende Liste im standardmäßigen Listenformat von Kotlin aus.
Beispiel:
Wenn die erste Liste [1, 2, 3], die zweite Liste [2, 4, 2] und die zu entfernende Zahl 2 ist, lautet die kombinierte Liste [1, 2, 3, 2, 4, 2]. Nach dem Entfernen aller Vorkommen von 2 sollte die Ausgabe wie folgt aussehen:
[1, 3, 4]Probier es selbst
fun main() {
// Erste Liste einlesen
val n = readLine()!!.toInt()
val list1 = mutableListOf<Int>()
repeat(n) {
list1.add(readLine()!!.toInt())
}
// Zweite Liste einlesen
val m = readLine()!!.toInt()
val list2 = mutableListOf<Int>()
repeat(m) {
list2.add(readLine()!!.toInt())
}
// Die zu entfernende Ganzzahl einlesen
val toRemove = readLine()!!.toInt()
// TODO: Schreibe deinen Code hier
// Kombiniere die beiden Listen mit dem + Operator
// Entferne alle Vorkommen von toRemove mit dem - Operator und einer Liste
// Gib die resultierende Liste aus
println(result)
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion14Listen – Fortgeschrittene
List Slicing mit SubListList Slicing mit Take DropSequenzoperatorenDie Contains-MethodeWiederholung – Eine Seite durchsuchen3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground