Java Datenstrukturen

Aus Fachinformatiker Azubi
Wechseln zu: Navigation, Suche

Mit Datenstrukturen ist die Art der Speicherung der Daten gemeint. In Java existieren mehrere Datenstrukturen sowie mehrere Wege um Daten zu speichern. Sollte man größere Datenmengen verarbeiten, dann ist es wichtig welche Datenstruktur man benutzt. Vorallem bei Stapelverarbeitung und in größeren Firmen arbeitet man mit größeren Datenmengen. Außerdem kann dies entscheidet sein von einer Differenz von 10 Stunden Rechenzeit! Bei kleineren Anwendungen, merkte man diese Millisekunden Unterschied kaum (Menschlich nicht spürbar).

Array

Ein Array wird folgender maßen aufgebaut: Java_Array. Ein Array stellt einen Fixen Bereich an Speicherplatz zur Verfügung. Den am Anfang definiert man wie viel Blöcke man benötigt. Möchte man Einträge verändernm, löschen, neue hinzufügen dann stellt sich dies sehr schwer mit einem Fixen Array zu Arbeiten.

Arraylist

Mit einem Arraylist kann man besser Arbeiten. Neue Einträge hinzufügen, Blöcke löschen oder sortieren. Man muss sich um die Blockgröße nicht kümmern. Der einzinste Nachteil ist, dass sich die Größe des Blocks immer verdoppelt. Das bedeutete: Hat man einen Block mit 1000 Einträgen und fügt einen weiteren Block hinzu, dann verdoppelt sich die Blockgröße auf 2000. Obwohl nur 1001 Einträge im Block Enthalten sind.

Linkedlist

Eine Linkedlist ist aufgebaut, wie eine lineare Datenstruktur. Jedes Element(Knoten) kennt seinen Nachfolger. Die einzelnen Elemente sind nur mit dem oberen sowie mit dem unteren Block verknüpft.

Vorteil
  • Perfekte Speicherverwaltung
  • Einträge hinzufügen geht super schnell
Nachteil
  • Einträge zu Suchen, Löschen und Hinzufügen dauert länger

Vector

Set

Hashset

Treeset

Map

Die Tree bzw. Map Klassen sind Baumstrukturen, hierbei handelt es sich um eine rekursive Datenstruktur in welcher jeder Baum zwei Bäume als Nachfolger haben. Ein Baum besteht nicht aus Knoten sondern Teilbäumen.

Key - Value

Hash Map

Tree Map

Sorted Tree Map