Java HashMap replace ()

Die Java HashMap replace () -Methode ersetzt die Zuordnung für den angegebenen Schlüssel durch den angegebenen neuen Wert in einer Hashmap.

Die Syntax der replace()Methode lautet:

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

Hier ist Hashmap ein Objekt der HashMapKlasse.

replace () Parameter

Die replace()Methode kann 3 Parameter annehmen.

  • Schlüssel - Schlüssel, dessen Zuordnung ersetzt werden soll
  • oldValue (optional) - Wert, der im Mapping ersetzt werden soll
  • newValue - oldValue wird durch diesen Wert ersetzt

replace () Rückgabewerte

Die HashMap- replace()Methode ersetzt die Zuordnung und gibt Folgendes zurück:

  • Der vorherige Wert, der dem angegebenen Schlüssel zugeordnet ist, wenn der optionale Parameter oldValue nicht vorhanden ist
  • true, wenn der optionale Parameter oldValue vorhanden ist

Hinweis : Die Methode wird zurückgegeben null, wenn entweder der angegebene Schlüssel einem Nullwert zugeordnet ist oder der Schlüssel in der Hashmap nicht vorhanden ist.

Beispiel 1: Ersetzen Sie einen Eintrag in HashMap

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages = new HashMap(); // add entries to HashMap languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // replace mapping for key 2 String value = languages.replace(2, "Java"); System.out.println("Replaced Value: " + value); System.out.println("Updated HashMap: " + languages); ) )

Ausgabe

 HashMap: (1 = Python, 2 = Englisch, 3 = JavaScript) Ersetzter Wert: Englisch Aktualisierte HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

Im obigen Beispiel haben wir eine Hashmap mit dem Namen Languages ​​erstellt. Hier haben wir die replace () -Methode verwendet, um den Eintrag für Schlüssel 1 (1 = Englisch) durch den angegebenen Wert Java zu ersetzen .

Hier verfügt die replace()Methode nicht über den optionalen Parameter oldValue. Daher wird der alte Wert (Englisch) zurückgegeben.

Beispiel 2: HashMap replace () durch Old Value

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap countries = new HashMap(); // insert items to the HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:" + countries); // replace mapping (Washington = America) countries.replace("Washington", "America", "USA"); // return true countries.replace("Canberra", "New Zealand", "Victoria"); // return false System.out.println("Countries after replace():" + countries); ) )

Ausgabe

 Länder: (Canberra = Australien, Ottawa = Kanada, Washington = Amerika) Länder nach Ersetzen (): (Canberra = Australien, Ottawa = Kanada, Washington = USA)

Im obigen Beispiel haben wir eine Hashmap mit dem Namen "Länder" erstellt. Beachten Sie die Linie,

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

Hier enthält die Methode replace () den optionalen Parameter oldValue (America). Daher wird die Zuordnung, bei der die wichtigsten Washingtoner Zuordnungen zum Wert Amerika vorgenommen werden, durch den neuen Wert USA ersetzt.

Beachten Sie jedoch die Zeile,

 country.replace ("Canberra", "Neuseeland", "Victoria");

Hier in der Hashmap wird der Schlüssel Canberra nicht dem Wert Neuseelands zugeordnet. Daher ersetzt die replace () -Methode keinen Wert.

Hinweis : Wir können die Java HashMap clear () -Methode verwenden, um alle Zuordnungen aus der Hashmap zu entfernen.

HashMap put () Vs. ersetzen()

Die Syntax der put()und replace()-Methode sieht in ziemlich ähnlich aus HashMap.

 // syntax of put() hashmap.put(key, value) // syntax of replace() hashmap.replace(key, value)

Wenn die Hashmap die Zuordnung für den angegebenen Schlüssel enthält , ersetzen beide Methoden den Wert, der dem angegebenen Schlüssel zugeordnet ist.

Wenn die Hashmap jedoch keine Zuordnung für den angegebenen Schlüssel enthält , dann

  • Die put()Methode fügt die neue Zuordnung für den angegebenen Schlüssel und Wert ein
  • Die replace()Methode gibt zurücknull

Beispiel 3: HashMap put () Vs. ersetzen()

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages1 = new HashMap(); // insert entries to HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); // create another HashMap similar to languages1 HashMap languages2 = new HashMap(); // puts all entries from languages1 to languages2 languages2.putAll(languages1); System.out.println("HashMap: " + languages1); // use of put() languages2.put(3, "Java"); System.out.println("HashMap after put():" + languages2); // use of replace() languages1.replace(3, "Java"); System.out.println("HashMap after replace():" + languages1); ) )

Ausgabe

 HashMap: (1 = Python, 2 = JavaScript) HashMap nach put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap nach replace (): (1 = Python, 2 = JavaScript)

Im obigen Beispiel haben wir zwei Hashmaps mit den Namen Languages1 und Languages2 erstellt. Wir haben die HashMap putAll () -Methode verwendet, damit beide Hashmaps die gleichen Zuordnungen haben.

Hier ist die Zuordnung für Schlüssel 3 in der Hashmap nicht vorhanden. Daher,

  • die put()Methode fügt die neue Zuordnung (3 = Java) zuHashMap
  • Die replace()Methode führt keine Operation aus

Weitere Informationen zum Hinzufügen von Einträgen finden Sie unter Java HashMap put ().

Interessante Beiträge...