Ein Set ist eine Sammlung, die vorhandene Elemente schnell finden kann. Um ein Element anzuzeigen, benötigen Sie jedoch eine exakte Kopie des gesuchten Elements. Dies ist keine sehr allgemeine Suchmethode, da das Suchen eines Elements in einer Sammlung immer das Durchlaufen der Sammlung erfordert. Oft kennen wir Informationen zu einem Schlüssel und möchten das entsprechende Element finden. Die Kartendatenstruktur ist für diesen Zweck konzipiert. Karten werden zum Speichern von Schlüssel/Wert-Paaren verwendet. Wenn der Schlüssel bereitgestellt wird, kann der Wert nachgeschlagen werden. Zwischen ihnen besteht eine Eins-zu-Eins-Entsprechung.
Grundlegende Zuordnungsoperationen:
Die Java-Klassenbibliothek bietet zwei allgemeine Implementierungen für die Zuordnung: HashMap und TreeMap, die beide die Map-Schnittstelle implementieren
HashMap hasht die Schlüssel und TreeMap sortiert die Elemente in der Gesamtreihenfolge der Schlüssel und organisiert sie in einem Suchbaum.
Hash- oder Vergleichsfunktionen können nur auf Schlüsseln funktionieren. Mit Schlüsseln verknüpfte Werte können nicht gehasht oder verglichen werden
Wie Sätze sind Hash-Maps etwas schneller als Baum-Maps, daher ist es am besten, Hash-Maps zu verwenden, wenn der Zugriff auf Schlüssel nicht in sortierter Reihenfolge erfolgen muss
OP->> Um die Schlüsselwertspeicherung durchzuführen, muss die Put-Methode verwendet werden.
OP->> Um den Schlüsselwertzugriff durchzuführen, muss die Get-Methode verwendet werden. und nur über Schlüssel Um auf den Wert zuzugreifen
OP->> Wenn der Wert nicht gefunden werden kann, Sie aber kein leeres Objekt zurückgeben möchten, verwenden Sie getOrDefault(var1,var2). gefunden, var2 zurückgeben.
Schlüssel müssen eindeutig sein. Wenn die Put-Methode zweimal für ein Zuordnungspaar aufgerufen wird, überschreibt der letztere Aufruf den vorherigen Aufruf. Und geben Sie das Ergebnis des ersten Aufrufs zurück
OP->> Um Schlüssel-Wert-Paare zu entfernen, verwenden Sie die Methode zum Entfernen (Schlüssel)
OP->> von Schlüssel-Wert-Paaren verwenden Sie die Methode size()
OP->> Um jeden Schlüssel und Wert zu durchlaufen, verwenden Sie am besten die Methode forEach, die mit einem Lambda-Ausdruck bereitgestellt werden kann. Wird verwendet, um jedes Element in der Karte der Reihe nach zu verarbeiten.
ähnelt scores.forEach((k,v)->System.out.println("key="+k+",value= "+v ));
Das folgende Beispielprogramm demonstriert den Vorgang des Mappings. Zunächst werden Schlüssel/Wert-Paare zum Mapping hinzugefügt. Dann wird ein Schlüssel aus der Karte gelöscht und sein entsprechender Wert wird ebenfalls gelöscht. Ändern Sie als Nächstes den Wert, der einem bestimmten Schlüssel entspricht, und rufen Sie die get-Methode auf, um diesen Wert anzuzeigen. Abschließend wird die Menge der Einträge iterativ verarbeitet.
Code:
package Collection.Map; import java.util.*; public class MapTest { public static void main(String[] args) { Map<String,Employee> staff=new HashMap<>(); staff.put("144-25-5464", new Employee("Amy Lee")); staff.put("567-24-2546", new Employee("Harry Hacker")); staff.put("157-62-7935", new Employee("Gary Cooper")); staff.put("456-62-5527", new Employee("Francesca Cruz")); //打印所有成员 System.out.println(staff); //删除某一成员 staff.remove("567-24-2546"); //替代一个成员 staff.put("456-62-5527", new Employee("Francesca Miller")); //查看一个成员 System.out.println(staff.get("157-62-7935")); //遍历映射 staff.forEach((k,v)->System.out.println("key="+k+",value="+v)); } } class Employee{ String name; public Employee(String name) { this.name = name; } public String toString() { return "[name="+name+"]"; } }
Laufergebnis:
Im Folgenden sind einige häufig verwendete Methoden in Interface Map und ihre Erklärungen aufgeführt:
V get(Object key)
Erhalten Sie den Wert, der dem Schlüssel entspricht; geben Sie das Objekt zurück, das dem Schlüssel entspricht, oder geben Sie zurück, wenn kein solcher vorhanden ist Objekt in der Karte null. Der Schlüssel kann null sein.
default V getOrDefault(Object key,V defaultValue)
Ruft den mit dem Schlüssel verknüpften Wert ab; gibt das mit dem Schlüssel verknüpfte Objekt zurück, oder wenn dieses nicht gefunden wird Gibt im Kartenschlüssel den Standardwert zurück.
V put(K key,V value)
Fügen Sie die Beziehung zwischen dem Schlüssel und dem entsprechenden Wert in die Karte ein. Wenn der Schlüssel bereits vorhanden ist, ersetzt das neue Objekt das alte Objekt, das dem Schlüssel entspricht. Diese Methode gibt den alten Wert zurück, der dem Schlüssel entspricht. Gibt null zurück, wenn dieser Schlüssel noch nicht vorgekommen ist. Schlüssel können null sein, Werte jedoch nicht.
void putAll(Map erweitert K,? erweitert V> Einträge)
Fügt alle Einträge in der angegebenen Karte zu dieser Karte hinzu.
boolean containsKey(Object key)
Gibt true zurück, wenn dieser Schlüssel bereits in der Karte vorhanden ist.
boolean containsValue(Object value)
Wenn dieser Wert bereits in der Karte vorhanden ist, geben Sie true zurück.
default void forEach(BiConsumer super K,? super V> action)
Wenden Sie diese Aktion auf alle Schlüssel/Werte in dieser Karte an.
Die folgenden Methoden werden häufig in der HashMap-Klasse verwendet:
HashMap()
HashMap(int initialCapacity)
HashMap (int initialCapacity, float loadFactor)
Erstellen Sie eine leere Hash-Map mit der angegebenen Kapazität und dem angegebenen Füllfaktor (der Füllfaktor ist ein Wert zwischen 0,0 und 1,0. Dieser Wert bestimmt den Füllprozentsatz der Hash-Tabelle. Sobald dieser erreicht ist Verhältnis muss es in eine größere Tabelle gehasht werden). Der Standard-Nachladefaktor beträgt 0,75.
Die folgenden Methoden werden häufig in der TreeMap-Klasse verwendet:
TreeMap()
Konstruieren Sie einen Schlüssel, der die implementiert Vergleichbare Schnittstelle Leere Baumkarte.
TreeMap(Comparator super K> c)
Erstellt eine Baumkarte und sortiert die Schlüssel mithilfe eines angegebenen Komparators.
TreeMap(Map erweitert K,? erweitert V>-Einträge)
Erstellt eine Baumkarte und fügt alle Einträge in einer Karte zur Mitte der Baumkarte hinzu.
TreeMap(SortedMap erweitert K,? erweitert V>-Einträge)
Erstellt eine Baumkarte, die alle Einträge in einer bestimmten geordneten Karte zur Baumkarte hinzufügt und dabei denselben Komparator wie die gegebene geordnete Karte verwendet.
Im Folgenden sind einige wichtige Methoden der SortedMap-Schnittstelle aufgeführt:
Comparator super K> Rückgabekomparator zum Sortieren von Schlüsseln. Wenn die Schlüssel mit der comparaTo-Methode der Comparable-Schnittstelle verglichen werden, wird null zurückgegeben.
K firstKey()
K lastKey()
Gibt die minimalen und maximalen Elemente in der Karte zurück.
php Chinesische Website, eine große Anzahl kostenloserJava-Einführungs-Tutorials
, willkommen zum Online-Lernen!Das obige ist der detaillierte Inhalt vonWas ist Mapping in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!