Analyse von neun Hauptproblemen mit Map in Java
Im Allgemeinen ist Map eine Datenstruktur, die aus Schlüssel-Wert-Paaren besteht, und jeder Schlüssel ist in der Sammlung einzigartig. Lassen Sie uns K und V zur Darstellung von Schlüsseln und Werten verwenden, um die neun Hauptprobleme von Map in Java zu erklären.
0. Map in Listentyp konvertieren
In Java bietet die Map-Schnittstelle drei Sammlungserfassungsmethoden: Schlüsselsatz, Wertesatz und Schlüsselwertsatz. Sie können alle über den Konstruktor oder die addAll()-Methode in den Listentyp konvertiert werden. Der folgende Code veranschaulicht, wie eine ArrayList aus einer Map erstellt wird:
// key list List keyList = new ArrayList(map.keySet()); // value list List valueList = new ArrayList(map.valueSet()); // key-value list List entryList = new ArrayList(map.entrySet());
1. Traverse the Map through Entry
Diese Art der Existenz als Schlüssel-Wert-Paare in Java ist namens Map.Entry. Map.entrySet() gibt einen Schlüsselwertsatz zurück, was eine sehr effiziente Traversalmethode ist.
for(Entry entry: map.entrySet()) { // get key K key = entry.getKey(); // get value V value = entry.getValue(); }
Iterator Wir verwenden ihn auch oft, insbesondere vor JDK1.5
Iterator itr = map.entrySet().iterator(); while(itr.hasNext()) { Entry entry = itr.next(); // get key K key = entry.getKey(); // get value V value = entry.getValue(); }
2. Verwenden Sie die Taste, um die Kartensortierung anzupassen
Das Sortieren erfordert häufige Operationen auf der Karte. Eine Möglichkeit besteht darin, es über einen Komparator zu implementieren:
List list = new ArrayList(map.entrySet()); Collections.sort(list, new Comparator() { @Override public int compare(Entry e1, Entry e2) { return e1.getKey().compareTo(e2.getKey()); } });
Die andere Möglichkeit ist über SortedMap, muss jedoch implementiert werden Vergleichbare Schnittstelle.
SortedMap sortedMap = new TreeMap(new Comparator() { @Override public int compare(K k1, K k2) { return k1.compareTo(k2); } }); sortedMap.putAll(map);
3. Sortieren Sie die Karte nach Wert
Dies ähnelt in gewisser Weise dem vorherigen Punkt, der Code lautet wie folgt:
List list = new ArrayList(map.entrySet()); Collections.sort(list, new Comparator() { @Override public int compare(Entry e1, Entry e2) { return e1.getValue().compareTo(e2.getValue()); } });
4. Initialisieren Sie eine statische Konstanten-Map
Wenn Sie eine globale statische Map erstellen möchten, stehen uns die folgenden zwei Methoden zur Verfügung, die threadsicher sind.
Obwohl wir in Test1 deklariert haben, dass die Karte statisch ist, können wir ihren Wert während der Initialisierung dennoch ändern, genau wie Test1.map.put(3,"two");
In Test2 übergeben wir eine innere Klasse und Stellen Sie es so ein, dass es nicht änderbar ist. Wenn wir dann Test2.map.put(3, „drei“) ausführen, wird ein
UnsupportedOperationException 异常来禁止你修改。 public class Test1 { private static final Map map; static { map = new HashMap(); map.put(1, "one"); map.put(2, "two"); } } public class Test2 { private static final Map map; static { Map aMap = new HashMap(); aMap.put(1, "one"); aMap.put(2, "two"); map = Collections.unmodifiableMap(aMap); } }
5 angezeigt. und Hashtable
In der Map-Schnittstelle gibt es drei Implementierungen: HashMap, TreeMap und Hashtable.
Sie sind unterschiedlich. Weitere Informationen finden Sie im Artikel „HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap“.
6. Rückwärtsabfrage in der Karte
Nachdem wir der Karte ein Schlüssel-Wert-Paar hinzugefügt haben, bedeutet dies, dass zwischen Schlüsseln und Werten eine Eins-zu-Eins-Entsprechung besteht Karte, und ein Schlüssel entspricht einem Wert. Aber manchmal benötigen wir eine umgekehrte Abfrage, z. B. das Finden des Schlüssels über einen bestimmten Wert. Diese Datenstruktur wird als bidirektionale Karte bezeichnet. Leider wird sie von JDK nicht unterstützt.
Apache und Guava stellen diese bidirektionale Kartenimplementierung gemeinsam bereit. In der Implementierung wird festgelegt, dass sowohl Schlüssel als auch Werte eine 1:1-Beziehung haben müssen.
7. Karte kopieren
Java bietet viele Methoden zum Kopieren einer Karte, diese Methoden sind jedoch möglicherweise nicht immer synchronisiert. Einfach ausgedrückt: Wenn sich eine Karte ändert, bleibt die kopierte Karte dieselbe. Das Folgende ist eine effizientere Implementierungsmethode:
Map copyMap = Collections.synchronizedMap(map); Natürlich gibt es noch eine andere Methode, nämlich das Klonen. Unser Java-Urheber Josh Bloch empfiehlt diesen Ansatz jedoch nicht. Er sagte einmal in einem Interview zum Thema Map-Klonen: Klonmethoden werden in vielen Klassen bereitgestellt, weil die Leute sie wirklich brauchen. Aber das Klonen ist sehr einschränkend und verursacht in vielen Fällen unnötige Auswirkungen.
8. Erstellen Sie eine leere Karte.
Wenn diese Karte nicht verfügbar ist, können Sie dies über Folgendes erreichen:
map = Collections.emptyMap();
Im Gegenteil, wenn wir sie verwenden , Sie können direkt
map = new HashMap();

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



JavaMap ist eine häufig verwendete Datenstruktur in der Java-Standardbibliothek, die Daten in Form von Schlüssel-Wert-Paaren speichert. Die Leistung von Map ist entscheidend für die Ausführungseffizienz der Anwendung. Wenn die Leistung von Map schlecht ist, kann dies dazu führen, dass die Anwendung langsam läuft oder sogar abstürzt. 1. Wählen Sie die entsprechende Map-Implementierung. Java bietet eine Vielzahl von Map-Implementierungen, darunter HashMap, TreeMap und LinkedHashMap. Jede Map-Implementierung hat ihre eigenen Vor- und Nachteile. Bei der Auswahl einer Map-Implementierung müssen Sie die geeignete Implementierung basierend auf den spezifischen Anforderungen der Anwendung auswählen. HashMap: HashMap ist die am häufigsten verwendete Map-Implementierung. Sie verwendet Hash-Tabellen zum Speichern von Daten und bietet schnellere Einfüge-, Lösch- und Suchgeschwindigkeiten.

JavaMap ist eine auf Schlüssel-Wert-Paaren basierende Datenstruktur, die es Entwicklern ermöglicht, Daten schnell zu speichern und abzurufen. Die Schlüssel einer Karte können beliebige Objekte sein und die Werte können beliebige Datentypen sein. Jeder Schlüssel in der Karte kann höchstens einem Wert zugeordnet werden. Wenn mehrere Werte für denselben Schlüssel festgelegt werden, wird nur der zuletzt festgelegte Wert beibehalten. Es gibt zwei Hauptimplementierungen von Map: HashMap: verwendet eine Hash-Tabelle zum Speichern von Schlüssel-Wert-Paaren. Die Leistung von HashMap hängt davon ab, wie die Hash-Tabelle implementiert wird. In den meisten Fällen ist die Leistung von HashMap besser als die von TreeMap. TreeMap: verwendet Rot-Schwarz-Bäume zum Speichern von Schlüssel-Wert-Paaren. Die Leistung von TreeMap ähnelt der von HashMap, in einigen Fällen kann die Leistung von TreeMap jedoch ähnlich sein

JavaMap ist eine sehr nützliche Datenstruktur, die in verschiedenen Anwendungsszenarien verwendet werden kann. Aber manchmal müssen wir die Karte möglicherweise erweitern oder anpassen, um bestimmte Anforderungen zu erfüllen, z. B. das Hinzufügen neuer Funktionen, das Ändern der Durchlaufreihenfolge oder das Erstellen eines benutzerdefinierten Serialisierers. In diesem Artikel erfahren Sie, wie Sie JavaMap erweitern und anpassen, um Ihnen beim Erstellen Ihrer eigenen Datenstruktur zu helfen, die Ihren Anpassungsanforderungen entspricht. 1. JavaMap erweitern Der einfachste Weg, JavaMap zu erweitern, besteht darin, eine neue Klasse zu erstellen, die von der java.util.Map-Schnittstelle erbt. Diese neue Klasse kann neue Methoden oder Eigenschaften hinzufügen und auch Methoden in der Map-Schnittstelle überschreiben. Beispielsweise können wir eine neue Map-Klasse erstellen und eine neue Methode hinzufügen, um die Summe von Schlüssel-Wert-Paaren zu berechnen: publ

JavaMap ist eine Datenstruktur, mit der Sie Werte mithilfe von Schlüsseln speichern und abrufen können. Schlüssel in einer Karte sind eindeutig, was bedeutet, dass Sie nicht zwei Werte mit demselben Schlüssel speichern können. Die Werte in der Karte können beliebige Objekte sein, auch andere Karten. Map hat in Java viele Verwendungsmöglichkeiten. Beispielsweise können Sie eine Karte verwenden, um Benutzer-IDs und Passwörter, Produkt-IDs und Preise oder Dateinamen und Dateiinhalte zu speichern. Karten eignen sich auch hervorragend zum Speichern von Konfigurationseinstellungen innerhalb einer Anwendung. Es gibt drei integrierte Map-Implementierungen in Java: HashMap, TreeMap und LinkedHashMap. HashMap ist eine auf Hash-Tabellen basierende Map-Implementierung und die am weitesten verbreitete Map-Implementierung. TreeMap basiert auf

1. Overview Map ist ein Mitglied des Java Collection Frameworks, das Elemente in Form von Schlüssel-Wert-Paaren speichert und so das schnelle Abrufen und Ändern von Daten ermöglicht. Aufgrund seiner leistungsstarken Funktionen und breiten Anwendungsmöglichkeiten ist die Beherrschung von Map-Traversal-Methoden eine wesentliche Fähigkeit für Java-Programmierer. 2. Traversal-Methode Map bietet eine Vielzahl von Traversal-Methoden. Jede Methode hat ihre eigenen Vor- und Nachteile und kann entsprechend den spezifischen Anforderungen ausgewählt werden. 3.keySet() durchläuft die Methode keySet(), um eine Sammlung aller Schlüssel in der Map zurückzugeben. Sie können die Schlüssel durch einen Iterator oder eine erweiterte for-Schleife durchlaufen, um den entsprechenden Wert zu erhalten. //Verwenden Sie keySet(), um MapMapmap=newHashMap();map zu durchlaufen.

Übersicht über die Kartenschnittstelle Die Kartenschnittstelle ist eine Datenstruktur, die zum Speichern von Schlüssel-Wert-Paaren im Java-Sammlungsframework verwendet wird. Sie können Schlüssel verwenden, um zugehörige Werte zu finden und abzurufen. Die Map-Schnittstelle bietet viele nützliche Methoden, darunter put(), get(), remove(), containsKey(), containsValue(), size(), isEmpty() usw. Implementierung von Map Die am häufigsten verwendeten Map-Implementierungen in Java sind HashMap und TreeMap. HashMap ist eine auf Hash-Tabellen basierende Map-Implementierung, die durch Berechnen des Hash-Werts des Schlüssels schnell Werte findet und abruft. TreeMap ist eine auf Rot-Schwarz-Bäumen basierende Map-Implementierung, die Schlüssel in aufsteigender oder absteigender Reihenfolge sortiert.

JavaMap ist eine Datenstruktur, die es Ihnen ermöglicht, Daten mithilfe von Schlüssel-Wert-Paaren zu speichern. Schlüssel sind eindeutig, während Werte jede Art von Daten sein können. Map kann auf viele Arten implementiert werden, einschließlich HashMap, TreeMap und ConcurrentHashMap. In Anwendungen auf Unternehmensebene können Karten für mehrere Zwecke verwendet werden. Beispielsweise können Sie eine Karte verwenden, um Benutzerdaten wie Namen, E-Mail-Adressen und Passwörter zu speichern. Hinterlegen Sie Produktdaten wie Name, Preis und Beschreibung. Bestelldaten wie Kundenname, Adresse und gekaufte Artikel speichern. Speichert zwischengespeicherte Daten, z. B. kürzlich besuchte Webseiten oder Datenbankabfrageergebnisse. Karten eignen sich hervorragend zum Speichern komplexer Datenstrukturen. Sie können zum Beispiel Ma verwenden

Erklärung von Map Map ist eine Datenstruktur, mit der Sie Schlüssel-Wert-Paare speichern können. Die Schlüssel sind eindeutig und die Werte können beliebige Objekttypen sein. Die Map-Schnittstelle bietet Methoden zum Speichern und Abrufen von Schlüssel-Wert-Paaren und ermöglicht das Durchlaufen der Schlüssel-Wert-Paare in der Map. Map-Typen Es gibt verschiedene Implementierungen von Map in Java. Die häufigsten sind HashMap, TreeMap und LinkedHashMap. HashMap: Eine auf einer Hash-Tabelle basierende Map-Implementierung, die die Eigenschaften einer schnellen Suche, Einfügung und Löschung aufweist, aber nicht geordnet ist, was bedeutet, dass die Reihenfolge der Schlüssel-Wert-Paare in der Map willkürlich bestimmt wird. TreeMap: Eine Kartenimplementierung, die auf rot-schwarzen Bäumen basiert und die Eigenschaften einer schnellen Suche, Einfügung und Löschung aufweist
