English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java Ausnahmekontrolle

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java HashMap replace() 使用方法及示例

Java HashMap Methods

Java HashMap replace()方法将指定键的映射替换为哈希映射中指定的新值

replace()方法的语法为:

hashmap.replace(K key, V oldValue, V newValue)

replace()参数

  • key  - 要替换其映射的键

  • oldValue (可选)- 映射中要替换的值

  • newValue - oldValue被替换为这个值

replace()返回值

 HashMap replace()方法替换映射并返回:

  • 如果可选参数oldValue不存在,则为与指定键关联的上一个值

  • 如果存在可选参数oldValue,则为true

Beachten Sie:如果指定的键映射到null值,或者该键不在hashmap中,则该方法返回null。

Beispiel1:替换HashMap中的条目

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Erstellen Sie HashMap
    HashMap<Integer, String> languages = new HashMap<>();
    //Fügt den Eintrag in den HashMap hinzu
    languages.put(1, "Python");
    languages.put(2, "English");
    languages.put(3, "JavaScript");
    System.out.println("HashMap: " + languages);
    //Ersetzt den Schlüssel2
    String value = languages.replace(2, "Java");
    System.out.println("Wert, der ersetzt wurde: ", + value);
    System.out.println("Aktualisierte HashMap: ", + languages);
  }
}

Output Result

HashMap: {1=Python, 2zu aktualisieren = Englisch, 3=JavaScript}
Wert, der ersetzt wurde: Englisch
Aktualisierte HashMap: {1=Python, 2zu aktualisieren = Java, 3=JavaScript}

Im obigen Beispiel haben wir eine Namenszuordnung namens languages erstellt. Hier haben wir das replace()-Verfahren verwendet, um den Schlüssel1(1Ersetzt den Eintrag mit dem alten Wert (Englisch) durch die angegebene Wert (Java).

Hier hat der replace()-Methoden keine optionalen oldValue-Parameter. Daher gibt er den alten Wert (Englisch) zurück.

Beispiel2: HashMap mit alten Werten replace()

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    //Erstellen Sie HashMap
    HashMap<String, String> countries = new HashMap<>();
    //Fügt den Eintrag in den HashMap ein
    countries.put("Washington", "America");
    countries.put("Ottawa", "Canada");
    countries.put("Canberra", "Australia");
    System.out.println("Countries:\n" + countries);
    // Ersetzt die Zuordnung {Washington = America}
    countries.replace("Washington", "America", "USA");  // zurückgibt true
    countries.replace("Canberra", "New Zealand", "Victoria");  // zurückgibt false
    System.out.println("Nach der Ausführung von replace() für Countries:\n" + countries);
  }
}

Output Result

Countries:
{Canberra=Australia, Ottawa=Canada, Washington=America}
Nach der Ausführung von replace() für Countries:
{Canberra=Australia, Ottawa=Canada, Washington=USA}

Im obigen Beispiel haben wir eine Namenszuordnung namens countries erstellt. Beachten Sie diese Zeile:

countries.replace("Washington", "America", "USA");

Hier umfasst die replace() Methode optional den old Value Parameter (America). Daher wird die Zuordnung, die den Schlüssel Washington auf den Wert America verweist, durch den neuen Wert USA ersetzt.

Aber beachten Sie,

countries.replace("Canberra", "New Zealand", "Victoria");

Hier ist der Schlüssel Canberra im Hash-Mapping nicht auf den Wert New Zealand abgebildet. Daher ersetzt die replace() Methode keinen Wert.

Beachten Sie:Wir können  Java HashMap clear()  Methode löscht alle Zuordnungen aus dem Hash-Mapping.

HashMap put() und replace()

In HashMap sehen die Syntaxen von put() und replace() sehr ähnlich aus.

// put() Syntax
hashmap.put(key, value)
// replace() Syntax
hashmap.replace(key, value)

und wenn der Hash-Mapping den angegebenenSchlüsselbeide Methoden ersetzen den Wert, der mit dem angegebenen Schlüssel verknüpft ist.

Aber wenn der Hash-Mapping die angegebene Zuordnung nicht enthältSchlüsselwertJegliche Zuordnung, dann

  • put() Methode für angegebeneSchlüsselundWertFügen Sie neue Zuordnung hinzu

  • replace() Methode gibt null zurück

Beispiel3:HashMap put() und replace() Methoden

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Erstellen Sie HashMap
    HashMap<Integer, String> languages1 = new HashMap<>();
    // Fügen Sie Einträge in HashMap ein
    languages1.put(1, "Python");
    languages1.put(2, "JavaScript");
    //Erstellen Sie einen anderen ähnlichen languages1des HashMap
    HashMap<Integer, String> languages2 = new HashMap<>();
    //Fügen Sie alle Einträge von language1Legen Sie language hinein2
    languages2.putAll(languages1);
    System.out.println("HashMap: " + languages1);
    // Verwenden Sie put()
    languages2.put(3, "Java");
    System.out.println("put() nach dem HashMap:\n" + languages2);
    // Verwenden Sie replace()
    languages1.replace(3, "Java");
    System.out.println("HashMap nach replace():\n" + languages1);
  }
}

Output Result

HashMap: {1=Python, 2=JavaScript}
HashMap after put():
{1=Python, 2=JavaScript, 3=Java}
HashMap after HashMap():
{1=Python, 2=JavaScript}

In the above example, we created two named languages1and languages2of the hash map. We usedHashMap putAll()methods so that two hash maps have the same mappings.

Here, there is no key in the hash map3. Therefore,

  • The put() method adds a new mapping(3 = Java)addto HashMap

  • The replace() method does nothing.

AccessJava HashMap put()Methods to learn more about adding entries.

Java HashMap Methods