Unterschied zwischen HashMap und TreeMap

Schlüsseldifferenz - HashMap vs TreeMap
 

Bei der Programmierung gibt es verschiedene Mechanismen, um Daten zu sammeln. Sammlungen sind eine Methode zum Speichern von Daten. Programmiersprachen wie Java verwenden Collections. Es ist ein Framework mit Klassen und Schnittstellen zum Speichern und Bearbeiten einer Gruppe von Datenelementen. In einem normalen Array gibt es eine feste Anzahl von zu speichernden Elementen. Das ist eine Beschränkung von Arrays. Stattdessen kann der Programmierer Sammlungen verwenden. Vorgänge wie Einfügen, Löschen, Sortieren und Suchen können mithilfe von Sammlungen durchgeführt werden. In Java gehört die Kartenschnittstelle zu Sammlungen. Die Karte wird verwendet, um Daten in den Schlüssel-Wert-Paaren darzustellen. Es gibt nur eindeutige Schlüssel und jeder hat einen entsprechenden Wert. HashMap und TreeMap sind Klassen, die die Map-Schnittstelle implementieren. Eine HashMap ist eine Map-basierte Auflistungsklasse, die zum Speichern von Schlüssel- und Wertepaaren verwendet wird, die keine bestimmte Reihenfolge in Datenelementen einhalten. Eine TreeMap ist eine Map-basierte Auflistungsklasse, die zum Speichern von Schlüssel- und Wertepaaren verwendet wird, die die aufsteigende Reihenfolge der Datenelemente beibehalten. Das Hauptunterschied zwischen HashMap und TreeMap ist das HashMap behält keine bestimmte Reihenfolge in Datenelementen bei, während TreeMap die aufsteigende Reihenfolge von Datenelementen beibehält.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist HashMap?
3. Was ist TreeMap?
4. Ähnlichkeiten zwischen HashMap und TreeMap
5. Side-by-Side-Vergleich - HashMap vs TreeMap in Tabellenform
6. Zusammenfassung

Was ist HashMap??

HashMap ist eine Klasse, die die Kartenschnittstelle implementiert. Es erweitert die AbstractMap-Klasse und implementiert die Map-Schnittstelle. Eine HashMap enthält die Schlüssel / Wert-Paare. Jedes Element ist einzigartig. Es ist leicht, die Elemente in HashMap mit der Taste zu finden. Die Deklaration einer HashMap lautet wie folgt.

public class HashMap erweitert AbstractMap implementiert Map, Cloneable, Serializable

Das K bezieht sich auf den Schlüssel, während sich V auf den Wert bezieht, der diesem bestimmten Schlüssel entspricht. Jedes Schlüssel / Wert-Paar ist ein Eintrag der HashMap.

Abbildung 01: Kartenoberfläche

Nehmen Sie ein Szenario wie folgt an, um die HaspMap zu verstehen. Wenn der Programmierer dort einen Satz Studentennamen und entsprechende Indexnummern speichern möchte, kann er die HashMap verwenden. Die Schülernamen werden verwendet, um die Indexnummern zu finden. Daher sind Studentennamen die Schlüssel, während Indexnummern die Werte sind.

Abbildung 02: HashMap-Programm mit Java

Gemäß dem obigen Programm wird ein Objekt von HashMap erstellt. Dann kann der Programmierer Elemente hinzufügen, die dieses Objekt verwenden. Werte können mit der put-Methode eingefügt werden. Um die Werte abzurufen, sollte der Programmierer die Methode get mit dem Schlüssel verwenden. Bei Verwendung von studentList.get ("150"); Der entsprechende Name wird an den Index ausgegeben, der Ann ist. Wenn der Programmierer alle Werte abrufen möchte, kann er mit Map.Entry alle Schlüssel und Werte drucken. Bei der Beobachtung der Ausgabe ist ersichtlich, dass HashMap keine bestimmte Reihenfolge einhält. Die Elemente werden nicht in der eingefügten Reihenfolge gedruckt. Die Elemente werden in zufälliger Reihenfolge gedruckt.

Was ist TreeMap??

Die TreeMap ist eine Klasse in Java, die die Map-Schnittstelle implementiert. Ähnlich wie eine HashMap wird sie auch zum Speichern von Schlüssel-Wert-Paaren verwendet, jedoch in aufsteigender Reihenfolge. Die TreeMap implementiert die NavigableMap und NavigableMap erweitert SortedMap und SortedMap erweitert Map. Jedes Element ist einzigartig. Die Deklaration einer TreeMap lautet wie folgt.

public class TreeMap erweitert AbstractMap implementiert NavigableMap, Cloneable, Serializable

Das K bezieht sich auf den Schlüssel, während sich V auf den Wert bezieht, der diesem bestimmten Schlüssel entspricht. Jedes Schlüssel / Wert-Paar ist ein Eintrag der TreeMap.

Abbildung 03: TreeMap-Programm unter Verwendung von Java

Gemäß dem obigen Programm wird ein Objekt von TreeMap erstellt. Dann kann der Programmierer Elemente hinzufügen, die dieses Objekt verwenden. Werte können mit der put-Methode eingefügt werden. Um die Werte abzurufen, sollte der Programmierer die Methode get mit dem Schlüssel verwenden. Bei Verwendung von studentList.get ("150"); Der entsprechende Name wird an den Index ausgegeben, der Ann ist. Wenn der Programmierer alle Werte abrufen möchte, kann er mit Map.Entry alle Schlüssel und Werte drucken. Wenn Sie die Ausgabe beobachten, ist zu erkennen, dass TreeMap eine bestimmte Reihenfolge einhält. Die Elemente werden in aufsteigender Reihenfolge gedruckt.

Was sind die Ähnlichkeiten zwischen HashMap und TreeMap?

  • Sowohl HashMap als auch TreeMap implementieren die Map-Schnittstelle.
  • Sowohl HashMap als auch TreeMap können viele Elemente speichern und bearbeiten.
  • Sowohl HashMap als auch TreeMap enthalten Schlüssel / Wert-Paare.
  • Sowohl HashMap als auch TreeMap können viele Nullwerte haben.
  • Die Anzahl der Elemente, die sowohl in HashMap als auch in TreeMap gespeichert werden können, ist nicht begrenzt.

Was ist der Unterschied zwischen HashMap und TreeMap?

HashMap vs TreeMap

Eine HashMap ist eine Map-basierte Auflistungsklasse, die zum Speichern von Schlüssel- und Wertepaaren verwendet wird, die keine bestimmte Reihenfolge in Datenelementen einhalten. Eine TreeMap ist eine auf Karten basierende Erfassungsklasse, die zum Speichern von Schlüssel- und Wertepaaren verwendet wird, wobei die aufsteigende Reihenfolge der Datenelemente beibehalten wird.
 Auftrag
Die HashMap behält die Reihenfolge nicht bei. Die TreeMap behält die aufsteigende Reihenfolge bei.
Null-Schlüssel
Die HashMap kann einen Nullschlüssel enthalten. Die TreeMap darf keinen Nullschlüssel haben.
 Performance
HashMap ist schneller als TreeMap. TreeMap ist langsamer als HashMap.

Zusammenfassung - HashMap vs TreeMap

Programmiersprachen wie Java enthalten das Collection-Framework. In Arrays kann es eine feste Anzahl von Elementen geben. Daher sollte die Arraygröße zu Beginn initialisiert werden. In Sammlungen kann der Programmierer bei Bedarf viele Elemente speichern. Es ist keine bestimmte Menge zu speichern. Die Karte ist eine Schnittstelle, die zum Sammlungsrahmen gehört. Eine HashMap ist eine Map-basierte Auflistungsklasse, die zum Speichern von Schlüssel- und Wertepaaren verwendet wird, die keine bestimmte Reihenfolge in Datenelementen einhalten. Eine TreeMap ist eine auf Karten basierende Erfassungsklasse, die zum Speichern von Schlüssel- und Wertepaaren verwendet wird, wobei die aufsteigende Reihenfolge der Datenelemente beibehalten wird. In diesem Artikel wurde der Unterschied zwischen HashMap und TreeMap erläutert, die die Map-Schnittstelle implementiert. Der Unterschied zwischen HashMap und TreeMap besteht darin, dass HashMap keine bestimmte Reihenfolge in Datenelementen einhält, während TreeMap die aufsteigende Reihenfolge von Datenelementen beibehält.

Referenz:

1. "HashMap in Java - Javatpoint". Die Stelle, Hier verfügbar
2. "TreeMap in Java - Javatpoint".  Die Stelle, Hier verfügbar

Bildhöflichkeit:

1.'Java.util.Map-Hierarchie'von Ramlmn - eigene Arbeit, (CC BY-SA 4.0) über Commons Wikimedia