Zum Hauptinhalt springen

Tag 8

Collections​

List, Set und Map

Auf dem Bild kann man sehen was es fĂĽr Listen, Sets und Maps es gibt. Aktuell sind nur diese mit dem C wichtig.

List​

Ist es uns wichtig das Ordnung bei den Datensätzen herrscht, dann ist List das Richtige.

LinkedList​

LinkedLists sind Listen die den vorherigen und den nachfolgenden Datensatz kennen. Sie sind nützlich um Datensätze zwischen anderen einzufügen. Allerdings ist es schwierig, einen bestimmten Datensatz zu finden da sie nicht durchnummeriert sind.

LinkedList

ArrayList​

ArrayLists sind durchnummeriert und daher kann ein bestimmter Datensatz einfach angesprochen werden. Schwierig ist das Einfügen zwischen zwei anderen Datensätzen da der gesamte Array umnummeriert werden muss. Die ArrayList ist nützlich um einen genauen Datensatz anzusprechen.

ArrayList

Set​

Möchten wir keine Duplikate zulassen, ist Set das Richtige.

Set

LinkedHashSet​

Die Sortierung erfolgt nach Eingabereihenfolge

HashSet​

Hat einen schnellen Zugriff und hat keine Sortierung

TreeSet​

Wiederholt den Sortiervorgang algorithmisch

Map​

Möchte man jedem Datensatz einen eindeutigen Schlüssel geben, ist Map das Richtige. Folgende Arten der Map gibt es:

  • LinkedHashMap
  • HashMap
  • TreeMap

Map

Wann sollte man welche Collection verwenden?​

Folgende Fragen kann man sich stellen, um herauszufinden wann man welche Collection verwenden soll:

  • Ordnung - Sortierung wichtig?
    • List
  • Einzigartigkeit - Duplikate erlaubt
    • Set
  • Suchen - Durchsuchbar?
    • ArrayList
  • Zugriff auf die Daten - Zugriff ĂĽber Index?
    • Map
  • Stabilität der Daten - Werden Daten oft verändert?
    • LinkedList
  • Identifikation der Daten SchlĂĽsseleigenschaft?
    • Map
  • Reihenfolge von Datensätzen - LIFO oder FIFO?
    • List

Beispiele​