Paar und Triple
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 71 von 93.
Manchmal musst du nur zwei oder drei zusammengehörige Werte gruppieren, ohne eine vollständige Liste zu erstellen. Kotlin stellt genau für diesen Zweck Pair und Triple bereit.
Ein Pair enthält genau zwei Werte. Erstelle eines mit dem Konstruktor Pair() oder dem Schlüsselwort to:
val coordinates = Pair(10, 20)
val person = "Alice" to 25 // Dasselbe wie Pair("Alice", 25)Greife mit first und second auf die Werte zu:
val point = Pair(5, 8)
println(point.first) // 5
println(point.second) // 8Ein Triple funktioniert ähnlich, enthält aber drei Werte, auf die mit first, second und third zugegriffen wird:
val rgb = Triple(255, 128, 0)
println(rgb.first) // 255
println(rgb.second) // 128
println(rgb.third) // 0Diese sind nützlich, wenn eine Funktion mehrere Werte zurückgeben muss oder wenn du zusammengehörige Daten gruppieren möchtest, ohne eine benutzerdefinierte Klasse zu definieren. Die Werte können unterschiedlichen Typen angehören, wodurch sie für verschiedene Situationen flexibel einsetzbar sind.
Aufgabe
MittelSchreibe eine Funktion getMinMax, die eine Liste von Ganzzahlen entgegennimmt und ein Pair zurückgibt, das die Minimal- und Maximalwerte enthält, und formatiere sie anschließend als Zeichenkette.
Erstelle ein Pair, in dem first den Minimalwert und second den Maximalwert aus der Liste enthält. Gib anschließend eine formatierte Zeichenkette unter Verwendung der Eigenschaften des Paars zurück.
Parameter:
numbers(List<Int>): Eine Liste von Ganzzahlen mit mindestens einem Element
Rückgabewert: Eine Zeichenkette im Format "Min: X, Max: Y", wobei X der Minimalwert (first) und Y der Maximalwert (second) aus dem Pair ist.
Eingabebedingungen: Die Eingabeliste ist nicht leer.
Probier es selbst
fun getMinMax(numbers: List<Int>): String {
// Schreibe hier den Code
}
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-Funktion3Nullbarkeit
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 Eingabe12Grundlagen von Listen
List vs. MutableListAuf Elemente zugreifenListen verändernListenmethodenPaar und TripleWiederholung – ProduktlisteWiederholung – Umgekehrte ListeÜbe selbstständig: Kotlin-Playground