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