Sobes.tech
Junior

Kannst du die Unterschiede zwischen List, Set und Map erklären und wann man sie verwenden sollte?

sobes.tech KI

Antwort von AI

List - eine geordnete Sammlung, die Duplikate zulässt. Elemente sind über den Index zugänglich.

Set - eine ungeordnete Sammlung von einzigartigen Elementen. Keine Duplikate erlaubt.

Map - eine Sammlung von "Schlüssel-Wert"-Paaren, wobei jeder Schlüssel einzigartig ist. Elemente sind über den Schlüssel zugänglich.

Vergleichstabelle:

Merkmal List Set Map
Reihenfolge Ja Nein In der Reihenfolge der Hinzufügung (nicht immer)
Duplikate Erlaubt Nicht erlaubt Schlüssel sind einzigartig, Werte können dupliziert werden
Zugriff Über Index Durch Iteration Über Schlüssel
  • Verwendung:
    • List: Wenn die Reihenfolge der Elemente wichtig ist und Duplikate erlaubt sind (z.B. Einkaufsliste, Transaktionshistorie).
    • Set: Wenn eine Sammlung von einzigartigen Elementen benötigt wird und die Reihenfolge keine Rolle spielt (z.B. Menge einzigartiger Nutzer, Liste einzigartiger Tags).
    • Map: Wenn Daten in "Schlüssel-Wert"-Paare gespeichert werden sollen und schneller Zugriff auf Werte über Schlüssel erforderlich ist (z.B. Wörterbuch, Anwendungseinstellungen).

Beispiel:

// List
val shoppingList = listOf("Apfel", "Banane", "Apfel")
println(shoppingList[0]) // Apfel

// Set
val uniqueFruits = setOf("Apfel", "Banane", "Apfel")
println(uniqueFruits.size) // 2 (Apfel erscheint nur einmal)

// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30