Heim Java javaLernprogramm Analyse von neun Hauptproblemen mit Map in Java

Analyse von neun Hauptproblemen mit Map in Java

Jan 19, 2017 am 10:38 AM
java map

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());
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

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());
}
});
Nach dem Login kopieren

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);
Nach dem Login kopieren

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());
}
});
Nach dem Login kopieren

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);
}
}
Nach dem Login kopieren

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();

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich sein wird, und ich hoffe auch, dass dies für alle hilfreich ist Unterstützen Sie die chinesische PHP-Website.

Weitere verwandte Artikel zur Analyse der neun Hauptprobleme von Map in Java finden Sie auf der chinesischen PHP-Website!


Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Leistungsoptimierung von Java Map enthüllt: Machen Sie Ihre Datenvorgänge schneller und effizienter Leistungsoptimierung von Java Map enthüllt: Machen Sie Ihre Datenvorgänge schneller und effizienter Feb 20, 2024 am 08:31 AM

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.

Java Map enthüllt: Tipps und Strategien für schnellen Datenzugriff Java Map enthüllt: Tipps und Strategien für schnellen Datenzugriff Feb 19, 2024 pm 06:21 PM

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

Erweiterung und Anpassung von Java Map: Erstellen Sie Ihre eigene Datenstruktur, um Ihren Anpassungsanforderungen gerecht zu werden Erweiterung und Anpassung von Java Map: Erstellen Sie Ihre eigene Datenstruktur, um Ihren Anpassungsanforderungen gerecht zu werden Feb 19, 2024 pm 09:50 PM

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

Beherrschen Sie die Essenz von Java Map, eine notwendige Fähigkeit für fortgeschrittene Lernende Beherrschen Sie die Essenz von Java Map, eine notwendige Fähigkeit für fortgeschrittene Lernende Feb 19, 2024 pm 06:00 PM

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

Java Map entmystifizieren: Eine einfache und leicht verständliche Anleitung zum Durchqueren Java Map entmystifizieren: Eine einfache und leicht verständliche Anleitung zum Durchqueren Feb 20, 2024 pm 12:00 PM

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.

Fortgeschrittene Java Map-Kenntnisse: Beherrschen Sie Kenntnisse, die Sie möglicherweise nicht kennen, und verbessern Sie Ihre Programmierkenntnisse Fortgeschrittene Java Map-Kenntnisse: Beherrschen Sie Kenntnisse, die Sie möglicherweise nicht kennen, und verbessern Sie Ihre Programmierkenntnisse Feb 19, 2024 pm 12:33 PM

Ü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.

Java Map in Unternehmensanwendungen: Entdecken Sie seine leistungsstarke Rolle in realen Projekten Java Map in Unternehmensanwendungen: Entdecken Sie seine leistungsstarke Rolle in realen Projekten Feb 19, 2024 pm 01:27 PM

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

Entdecken Sie den Charme von Java Map und lösen Sie die Probleme der Datenverarbeitung Entdecken Sie den Charme von Java Map und lösen Sie die Probleme der Datenverarbeitung Feb 19, 2024 pm 07:03 PM

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

See all articles