Heim  >  Artikel  >  Java  >  Java LinkedHashMap

Java LinkedHashMap

WBOY
WBOYOriginal
2024-08-30 15:47:58449Durchsuche

In Java ist LinkedHashMap eine Implementierung von Linkedlist aus der Schnittstelle Map. Es ähnelt HashMap, wo eine zusätzliche Funktion enthalten ist, die die Reihenfolge der eingefügten Elemente beibehält. Obwohl HashMap schnelles Einfügen, Löschen und Suchen ermöglicht, wird die Reihenfolge der Elementeinfügung nicht beibehalten.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Funktionen von Java LinkedHashMap

Darüber hinaus sind in LinkedHashMap auch mehrere andere Funktionen enthalten.

  • Es besteht nur aus einzigartigen Elementen.
  • Es kann einen einzelnen Nullschlüssel und mehrere Nullwerte enthalten.
  • Einfügereihenfolge bleibt erhalten.
  • Erweitert die HashMap-Klasse.
  • Vorhandene Werte basieren auf dem Schlüssel.
  • Nicht synchronisiert.
  • 16 ist die anfängliche Standardkapazität
  • Der Auslastungsfaktor beträgt 0,75.

Syntax:

LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();

Hier ist obj das Objekt der erstellten LinkedHashMap.

Sobald das LinkedHashMap-Objekt erstellt wurde, wird es zum Hinzufügen von Elementen zur Karte verwendet, wie unten gezeigt.

obj.put(11, "Victor");
obj.put(33, "Shyla");
obj.put(14, "Nancy");
obj.put(100, "Kuffi");
obj.put(23, "Princy");
obj.put(37, "Chamm");

Konstrukteure

Im Folgenden sind die Konstruktoren einer LinkedHashMap aufgeführt:

1. LinkedHashMap(): Eine leere LinkedHashMap-Instanz wird mit der Reihenfolge basierend auf Einfügung, Lastfaktor 0,75 und einer standardmäßigen Anfangskapazität von 16 erstellt.

2. LinkedHashMap(int initialCapacity): Eine leere LinkedHashMap-Instanz wird mit der Reihenfolge basierend auf Einfügung, Lastfaktor 0,75 und angegebener Anfangskapazität erstellt.

3. LinkedHashMap(int initialCapacity, float loadFactor): Eine leere LinkedHashMap-Instanz wird erstellt, wobei die Reihenfolge auf der Einfügung, dem angegebenen Lastfaktor und der Anfangskapazität basiert.

4. LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder): Eine leere LinkedHashMap-Instanz wird mit angegebenem Lastfaktor, Zugriffsreihenfolge und anfänglicher Kapazität erstellt.

5. LinkedHashMap(Map m): Eine LinkedHashMap-Instanz wird erstellt, wobei die Reihenfolge auf der Einfügung und die Zuordnungen auf der genannten Karte basieren.

Methoden

Im Folgenden sind die häufig verwendeten Methoden in LinkedHashMap aufgeführt.

1. clear(): Jede Zuordnung aus der Karte wird entfernt.

2. boolean enthältKey(Objektschlüssel): Wenn die Karte eine Zuordnung zu einem oder mehreren Schlüsseln des genannten Werts enthält, wird „true“ zurückgegeben.

3. boolean containsValue(Object key): Wenn die Karte eine Zuordnung zu mindestens einem Schlüssel enthält, wird true zurückgegeben.

4. Objekt get(Objektschlüssel): Der Wert der Zuordnung des genannten Schlüssels wird zurückgegeben.

5. isEmpty(): Wenn keine Schlüssel-Wert-Paarzuordnungen vorhanden sind, wird true zurückgegeben.

6. size(): Anzahl der in der Karte verfügbaren Schlüssel-Wert-Paare wird zurückgegeben.

7. Objekt entfernen (Objektschlüssel): Der Wert der Zuordnung des genannten Schlüssels wird entfernt.

8. boolean removeEldestEntry(Map.Entry eldest): Wenn der älteste Eintrag entfernt werden kann, wird true zurückgegeben.

Beispiele für Java LinkedHashMap

Im Folgenden finden Sie Beispiele für Java LinkedHashMap:

Beispiel #1

Java-Programm zum Erstellen einer einfachen LinkedHashMap.

Code:

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
//class begins here
public class LinkedHashMapExample {
//main method
public static void main(String args[]) {
// create a LinkedHashMap
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();
//Adding key-value pair 1
obj.put(11, "Anna");
//Adding key-value pair 2
obj.put(33, "Adam");
//Adding key-value pair 3
obj.put(14, "Iza");
//Adding key-value pair 4
obj.put(23, "Norah");
//Adding key-value pair 5
obj.put(100, "Denan");
// create an entry set
Set s = obj.entrySet();
// Display the elements
Iterator itr = s.iterator();
//iterate each element
while(itr.hasNext()) {
//create an object for map.entry
Map.Entry mp = (Map.Entry)itr.next();
//print each element
System.out.print("Key in the LinkedHashMap is : "+ mp.getKey() +
" and it's corresponding value is: "+mp.getValue()+" \n");
}
}
}

Ausgabe:

Java LinkedHashMap

In diesem Programm wird zunächst eine LinkedHashMap erstellt. Danach werden ihm Elemente mit Schlüssel-Wert-Paaren hinzugefügt. Sobald der Vorgang abgeschlossen ist, wird ein Eintragssatz erstellt. Darüber hinaus wird ein Iterator erstellt, um alle Elemente in der LinkedHashMap zu drucken. Durch Iterieren jedes Elements wird es wie in der Beispielausgabe gezeigt gedruckt und angezeigt.

Beispiel #2

Java-Programm zum Entfernen von Schlüssel-Wert-Paaren aus der Karte.

Code:

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
//class begins here
public class LinkedHashMapExample {
//main method
public static void main(String args[]) {
// create a LinkedHashMap
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();
//Adding key-value pair 1
obj.put(11, "Victor");
//Adding key-value pair 2
obj.put(33, "Shyla");
//Adding key-value pair 3
obj.put(14, "Nancy");
//Adding key-value pair 4
obj.put(100, "Kuffi");
//Adding key-value pair 5
obj.put(23, "Princy");
//Adding key-value pair 6
obj.put(37, "Chamm");
System.out.print("Before removal, LinkedHashMap is: "+obj+"\n");
//remove the elements with keys 100 and 37
obj.remove(100);
obj.remove(37);
System.out.print("After removal, LinkedHashMap is: "+obj);
}
}

Ausgabe:

Java LinkedHashMap

Auch in diesem Programm wird zunächst eine LinkedHashMap erstellt. Danach werden ihm Elemente mit Schlüssel-Wert-Paaren hinzugefügt. Sobald der Vorgang abgeschlossen ist, wird LinkedHashMap gedruckt. Anschließend werden mit der Methode „remove()“ zwei Schlüssel-Wert-Paare aus der Karte entfernt. Danach wird die Karte erneut gedruckt und wie in der Beispielausgabe gezeigt angezeigt.

Beispiel #3

Java-Programm zum Drucken von Schlüssel-Wert-Paaren in der Karte auf der Grundlage der Zugriffsreihenfolge.

Code:

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
//class begins here
public class LinkedHashMapExample {
//main method
public static void main(String args[]) {
// create a LinkedHashMap with third paramter set access order
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>(2, .75f, true);
//Adding key-value pair 1
obj.put(11, "Victor");
//Adding key-value pair 2
obj.put(33, "Shyla");
//Adding key-value pair 3
obj.put(14, "Nancy");
//Adding key-value pair 4
obj.put(100, "Kuffi");
//Adding key-value pair 5
obj.put(23, "Princy");
//Adding key-value pair 6
obj.put(37, "Chamm");
//Access the pair 33
obj.get(33);
//Access the pair 11
obj.get(11);
System.out.print("LinkedHashMap with access order is: "+obj);
}
}

Ausgabe:

Java LinkedHashMap

Auch hier wird in diesem Programm zunächst eine LinkedHashMap erstellt. Danach werden ihm Elemente mit Schlüssel-Wert-Paaren hinzugefügt. Nach Abschluss erfolgt der Zugriff auf die Elemente mit den Tasten 33 und 11. Anschließend wird die Karte gedruckt und wie in der Beispielausgabe gezeigt angezeigt. Es ist ersichtlich, dass sich die Elemente, auf die zugegriffen wird, am Ende der Karte befinden.

Fazit

Fast alle Details zu Java LinkedHashMap, wie Syntax, Konstruktoren, Methoden und Beispiele, werden in diesem Artikel ausführlich erläutert. Darüber hinaus wird auch der Hauptunterschied zwischen LinkedHashMap und HashMap identifiziert.

Das obige ist der detaillierte Inhalt vonJava LinkedHashMap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java EnumMapNächster Artikel:Java EnumMap