Java-Dictionary
In der Sprache Java wird das Dictionary durch eine Datenstruktur namens Map
-Schnittstelle dargestellt. Die Datenstruktur Map
wird verwendet, um Daten in Schlüssel-Wert-Paaren darzustellen. Die Map
ist eine Schnittstelle, die alle Schlüssel und die dazugehörigen Werte festhält. Ein Benutzer kann den Wert basierend auf einem eindeutigen Schlüssel abrufen. Die Schnittstelle Map
enthält folgende Eigenschaften:
- Alle in der
Map
vorhandenen Schlüssel sind einzigartig. - Es kann einen eindeutigen Schlüssel geben, der einem oder mehreren Werten entspricht.
- Schlüssel sind die Entitäten, die nicht null sind.
Unten ist der Codeblock, der die Verwendung eines Dictionaries oder der Karte
in der Sprache Java demonstriert.
import java.util.HashMap;
import java.util.Map;
public class Dictionary {
public static void main(String[] args) {
System.out.println("Dictionary in Java");
System.out.println("Using HashMap ");
Map<String, String> map = new HashMap<>();
map.put("1", "Letters with alphabetical Order with key A");
map.put("2", "Letters with alphabetical Order with key B");
System.out.println(map.get("2"));
}
}
Die Map
ist eine getrennt von der Framework-Hierarchie Collection
vorhandene Schnittstelle.
Die Map
ist im java.util
-Paket enthalten und zeigt, wie ein Schlüssel den Werten zugeordnet wird. Es kann mehrere Implementierungen für eine Karte geben, nämlich:
HashMap
LinkedHashMap
Hashtable
Die Verwendung jedes einzelnen kann je nach den Anforderungen der Benutzer für die Implementierung variieren.
Im obigen Code-Schnipsel wird die HashMap
-Implementierung verwendet. Es ist die Standard- und weit verbreitete Klasse in der Java-Sprache. Der Unterschied zwischen allen drei Typen wird unten definiert.
HashMap
wird in Java 1.2 eingeführt, während Hashtable
eine Legacy-Klasse ist. Es ist Thread-sicher, und daher sind gleichzeitige Operationen zwischen mehreren Threads zulässig, wodurch die Konsistenz des Codes gewahrt wird. Aber die HashMap
sind nicht Thread-sicher und erlauben keine Parallelität.
Aufgrund der Thread-sicheren Natur von HashMap
ist es in der Leistung schneller als die Hashtable
. Außerdem ist HashMap
ausfallsicher und löst ConcurrencyException
aus, wenn seine Instanz von mehreren Threads gleichzeitig manipuliert wird. Im Gegensatz dazu wirkt Hashtable
ausfallsicher. Der Anwendungsfall von LinkedHashMap
liegt vor, wenn ein Benutzer den Anzeigenauftrag speichern möchte.
Die Instanz Map
wird mit der Klasse HashMap
im obigen Codeblock erstellt. Die Operationen wie get
und put
werden verwendet, um die spezifischen Werte aus der Instanz zu speichern und abzurufen. Die Methode put
verwendet zwei Parameter, die den Schlüssel und seinen Wert darstellen.
Intern wird der Schlüssel mit der Funktion containsKey()
zuerst ausgewertet, wenn er im Map-Objekt vorhanden ist. Wenn es als wahr ausgewertet wird, wird der aktuelle Wert des Schlüssels durch den neuen Wert ersetzt. Die Methode wirft UnsupportedOperationException
, wenn die definierte Operation von der Map
mit dem angegebenen Schlüssel nicht unterstützt wird.
Die ClassCastException
if key oder value verhindert das Speichern des Schlüssels, NullPointerException
wenn der angegebene Key oder Value null
ist und die Map
keine null
Schlüssel oder Werte zulässt. IllegalArgumentException
, wenn eine Eigenschaft des Schlüssels oder Werts verhindert, dass er in der Map
gespeichert wird.
Sobald der Schlüssel in die Map
eingesteckt ist, wird er mit der get
-Funktion abgerufen. Die Funktion get
verwendet einen einzigen Parameter, der den eindeutigen Schlüssel darstellt. Es wirft ClassCastException
und NullPointerException
, wenn der Schlüssel unpassend ist oder wenn der angegebene Schlüssel null
ist.
Unten ist die Ausgabe der Kartenschnittstelle mit der Klasse HashMap
.
Dictionary in Java Using HashMap Letters with alphabetical Order with key B
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn