ArrayList im Vergleich zu HashMap

ArrayList  und  HashMap  sind zwei Sammlungsklassen in Java. Obwohl sie die gleiche Rolle beim Sammeln und Organisieren von Daten haben, ist die Art und Weise, wie sie Daten sichern und verarbeiten, unterschiedlich. In diesem Artikel werden wir die Unterschiede und Gemeinsamkeiten zwischen den beiden sehen.

Unterschied zwischen ArrayList und HashMap in Java

Einer der wichtigen Unterschiede zwischen dem HashMap und ArrayList ist, dass die erste die Hash-Tabellenimplementierung und die zweite ein dynamisches Array ist, dessen Größe geändert werden kann. HashMap  und  ArrayList  sind die beiden beliebtesten Klassen des Java Collection Frameworks. Beide werden bei der Speicherung von Informationen und deren Implementierung verwendet, die Verwendung ist völlig unterschiedlich.
Der Hauptunterschied zwischen  ArrayList  und  HashMap  ist das  ArrayList  basiert auf der Struktur des Array-Indexes, während HashMap  ist eine Struktur in einer Map, die Hashing verwendet, um Werte zu extrahieren.

Einige entscheidende Unterschiede zwischen  ArrayList  und  HashMap:
  • Der erste Unterschied zwischen ArrayList  und  HashMap  ist das  ArrayList  implementiert die Schnittstelle Liste während HashMap  Implementiert die Map in Java.
  • ArrayList  Sichert jeweils ein Objekt während  HashMap  Speichert den Schlüssel und die Werte< Schlüssel,Wert>.
  • ArrayList  Behält die Reihenfolge der hinzugefügten Objekte bei. HashMap  garantiert diese Funktionalität nicht.
  • ArrayList  Ermöglicht das Einfügen doppelter Objekte, aber  HashMap  erlaubt es nicht, denselben Schlüssel zweimal einzufügen, aber die gleichen Schlüsselwerte.
  • Die Komplexität des get(index) von  ArrayList  ist O(1) aber  HashMap  get(key) kann im besten Fall O(1) und im schlimmsten Fall O(n) sein.

Ähnlichkeiten zwischen ArrayList und HashMap in Java

Hier sind einige Gemeinsamkeiten zwischen  ArrayList  und  HashMap  in Java:
  • ArrayList  und  HashMap  werden nicht synchronisiert. Sie sollten sie nicht in einem Multithread-Programm ohne externe Synchronisation verwenden.
  • Die Iteration von  ArrayList  und  HashMap  kann a  auslösen; ConcurrentModificationException wenn eine Strukturänderung nur einmal stattgefunden hat Iterator wird erstellt.
  • ArrayList  allowsnullHashMap  allowsnull für Schlüssel und Werte.
  • ArrayList  Erlaubt doppelte Elemente und  HashMap  ermöglicht doppelte Werte.
  • In Bezug auf die Leistung  ArrayList  hat eine konstante Lesezeit, wenn Sie den Index mit der Methode get() ähnlich zu  HashMap  die auch eine konstante Lesezeit hat.
  • Die Implementierung von ArrayList und HashMap basiert auf einem array.
  • Both collections ArrayList und HashMap kann mit Iterator.