Java HashMap vervangen ()

De Java HashMap replace () -methode vervangt de toewijzing voor de opgegeven sleutel door de opgegeven nieuwe waarde in een hashmap.

De syntaxis van de replace()methode is:

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

Hier is hashmap een object van de HashMapklasse.

replace () Parameters

De replace()methode kan 3 parameters hebben.

  • key - sleutel waarvan de toewijzing moet worden vervangen
  • oldValue (optioneel) - waarde die in de mapping moet worden vervangen
  • newValue - oldValue wordt vervangen door deze waarde

replace () Retourwaarden

De HashMap- replace()methode vervangt de mapping en retourneert:

  • de vorige waarde die is gekoppeld aan de opgegeven sleutel, als de optionele parameter oldValue niet aanwezig is
  • true, als de optionele parameter oldValue aanwezig is

Opmerking : de methode retourneert null, als de opgegeven sleutel is toegewezen aan een nulwaarde of als de sleutel niet aanwezig is op de hashmap.

Voorbeeld 1: een item in HashMap vervangen

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

Uitvoer

 HashMap: (1 = Python, 2 = Engels, 3 = JavaScript) Vervangen waarde: Engels Bijgewerkt HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

In het bovenstaande voorbeeld hebben we een hashmap gemaakt met de naam talen. Hier hebben we de methode replace () gebruikt om de invoer voor sleutel 1 (1 = Engels) te vervangen door de opgegeven waarde Java.

Hier heeft de replace()methode niet de optionele parameter oldValue. Daarom retourneert het de oude waarde (Engels).

Voorbeeld 2: HashMap vervang () door oude waarde

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

Uitvoer

 Landen: (Canberra = Australië, Ottawa = Canada, Washington = Amerika) Landen na vervanging (): (Canberra = Australië, Ottawa = Canada, Washington = VS)

In het bovenstaande voorbeeld hebben we een hashmap gemaakt met de naam landen. Let op de lijn,

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

Hier bevat de methode replace () de optionele parameter oldValue (Amerika). Vandaar dat de mapping waar de sleutel Washington in kaart brengt om Amerika te waarderen, wordt vervangen door de nieuwe waarde VS.

Let echter op de lijn,

 landen.replace ("Canberra", "Nieuw-Zeeland", "Victoria");

Hier, in de hashmap, komt de sleutel van Canberra niet overeen met de waarde van Nieuw-Zeeland. Daarom vervangt de methode replace () geen enkele waarde.

Opmerking : we kunnen de Java HashMap clear () -methode gebruiken om alle toewijzingen uit de hashmap te verwijderen.

HashMap put () Vs. vervangen()

De syntax van de put()en replace()methode ziet er vrij gelijkaardig in HashMap.

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

En als de hashmap de toewijzing voor de opgegeven sleutel bevat , vervangen beide methoden de waarde die aan de opgegeven sleutel is gekoppeld.

Als de hashmap echter geen toewijzing voor de opgegeven sleutel bevat , dan

  • de put()methode voegt de nieuwe toewijzing voor de opgegeven sleutel en waarde in
  • de replace()methode keert terugnull

Voorbeeld 3: HashMap put () Vs. vervangen()

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

Uitvoer

 HashMap: (1 = Python, 2 = JavaScript) HashMap na put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap na vervanging (): (1 = Python, 2 = JavaScript)

In het bovenstaande voorbeeld hebben we twee hashmaps gemaakt met de naam talen1 en talen2. We hebben de HashMap putAll () - methode gebruikt zodat beide hashmaps dezelfde toewijzingen hebben.

Hier is de mapping voor sleutel 3 niet aanwezig in de hashmap. Vandaar,

  • de put()methode voegt de nieuwe mapping (3 = Java) toe aanHashMap
  • de replace()methode voert geen enkele bewerking uit

Ga naar Java HashMap put () voor meer informatie over het toevoegen van vermeldingen.

Interessante artikelen...