Video: Real World Example of Using Java's Map to Grab Weather Data 2024
Arrays und spezialisierte Listen ermöglichen es, eine erstaunliche Reihe von Aufgaben mit Java auszuführen. Es gibt jedoch Situationen, in denen eine Java-Anwendung etwas benötigt, das eher einer Datenbank ähnelt, ohne tatsächlich das ganze Datenbank-Gepäck zu haben (wie zum Beispiel eine separate Anwendung kaufen zu müssen).
Zum Beispiel möchten Sie möglicherweise einen bestimmten Wert in einer Liste finden, ohne jedes Element einzeln betrachten zu müssen. In den folgenden Abschnitten wird eine spezielle Art von Sammlung beschrieben, die als Map bezeichnet wird. Die Map ist ein unglaublich nützlicher Speicherbehälter, der viele Aufgaben erleichtert.
Denken Sie immer daran, dass jedes Mal, wenn Sie einer Klasse Funktionalität hinzufügen, die Klassengröße zunimmt. Außerdem läuft die Klasse langsamer und kann schwerer verständlich werden. Wenn ein Array in Ihrer Anwendung den Zweck erfüllt, verwenden Sie ein Array. Verwenden Sie eine Karte nur dann, wenn Sie die spezialisierten Funktionen benötigen, die eine Karte bereitstellt.
Die Map ist wie viele grundlegende Container-Klassen in Java eigentlich eine Schnittstelle. Eine Map beschreibt eine Klasse, die ein Schlüssel- und Wertepaar zum Speichern von Informationen bereitstellt. Der Schlüssel gibt den Daten einen eindeutigen Namen. Keine zwei Einträge können denselben Schlüssel haben, was es ermöglicht, nach dem Schlüssel zu suchen und immer einen eindeutigen Wert zurückzugeben. Eine beliebige Anzahl von Schlüsseln kann den gleichen zugeordneten Wert haben.
Wie bei jeder Schnittstelle müssen Sie eine Implementierung erstellen, bevor Sie sie verwenden können. Die Map ist so unglaublich nützlich, dass Java eine Menge von Implementierungsklassen hat, die damit verbunden sind. Hier ist die Liste der Klassen, die Sie zum Erstellen einer Map verwenden können (Sie müssen sich im Moment nicht um die Besonderheiten dieser Klassen kümmern - Sie werden diese Unterschiede beim Erstellen weiterer Java-Anwendungen besser verstehen):
-
AbstractMap
-
Attribute
-
AuthProvider
-
ConcurrentHashMap
-
ConcurrentSkipListMap
-
EnumMap
-
HashMap
-
Hashtable
-
IdentityHashMap
-
LinkedHashMap
-
PrinterStateReasons
-
Eigenschaften
-
Provider
-
RenderingHints
-
SimpleBindings
-
TabularDataSupport
-
TreeMap
-
UIDefaults
-
WeakHashMap
Ein einzelner Artikel kann nicht einmal beginnen, alle diese Klassen zu diskutieren. Die wichtige Sache, an die Sie sich erinnern sollten, ist, dass alle Map-Klassen auf einem eindeutigen Schlüssel basieren, um Daten und einen Wert zu identifizieren, der die Daten enthält.