Java HashMap erstatte ()

Metoden Java HashMap erstatter () erstatter kortlægningen for den angivne nøgle med den angivne nye værdi i et hashmap.

Metodens syntaks replace()er:

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

Her er hashmap et objekt i HashMapklassen.

erstatte () parametre

Den replace()metode kan tage 3 parametre.

  • nøgle - nøgle, hvis kortlægning skal udskiftes
  • oldValue (valgfri) - værdi, der skal erstattes i kortlægningen
  • newValue - oldValue erstattes med denne værdi

erstat () Returværdier

HashMap- replace()metoden erstatter kortlægningen og returnerer:

  • den tidligere værdi, der er knyttet til den angivne nøgle, hvis den valgfri parameter oldValue ikke er til stede
  • true, hvis den valgfri parameter oldValue er til stede

Bemærk : Metoden vender tilbage null, hvis enten den angivne nøgle er tilknyttet en nulværdi, eller hvis nøglen ikke er til stede på hashmap.

Eksempel 1: Erstat en post i 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); ) )

Produktion

 HashMap: (1 = Python, 2 = engelsk, 3 = JavaScript) Udskiftet værdi: Engelsk Opdateret HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

I ovenstående eksempel har vi oprettet et hashmap-navn med sprog. Her har vi brugt erstatningsmetoden () til at erstatte posten for nøgle 1 (1 = engelsk) med den angivne værdi Java.

Her har replace()metoden ikke den valgfri oldValue-parameter. Derfor returnerer den den gamle værdi (engelsk).

Eksempel 2: HashMap erstat () med gammel værdi

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

Produktion

 Lande: (Canberra = Australien, Ottawa = Canada, Washington = Amerika) Lande efter erstatning (): (Canberra = Australien, Ottawa = Canada, Washington = USA)

I ovenstående eksempel har vi oprettet et hashmap navngivet lande. Bemærk linjen,

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

Her inkluderer metoden erstatte () den valgfri oldValue-parameter (Amerika). Derfor er kortlægningen, hvor nøglen Washington kortlægger for at værdi Amerika, erstattet med den nye værdi USA.

Bemærk dog linjen,

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

Her i hash-kortet kortlægger nøglen Canberra ikke værdi New Zealand. Derfor erstatter metoden erstatte () ikke nogen værdi.

Bemærk : Vi kan bruge metoden Java HashMap clear () til at fjerne alle tilknytninger fra hashmap.

HashMap put () Vs. erstatte()

Syntaksen for put()og replace()metoden ser ret ens ud i HashMap.

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

Og når hashmap indeholder kortlægningen for den angivne nøgle , erstatter begge metoder værdien, der er knyttet til den angivne nøgle.

Men hvis hashmap ikke indeholder nogen kortlægning for den angivne nøgle , så

  • den put()metode indsætter den nye kortlægning til det angivne nøgle og værdi
  • de replace()returnerer fremgangsmådennull

Eksempel 3: HashMap put () Vs. erstatte()

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

Produktion

 HashMap: (1 = Python, 2 = JavaScript) HashMap efter put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap efter erstat (): (1 = Python, 2 = JavaScript)

I ovenstående eksempel har vi oprettet to hashmaps, der hedder sprog1 og sprog2. Vi har brugt HashMap putAll () -metoden, så begge hashmaps har de samme tilknytninger.

Her er kortlægningen for nøgle 3 ikke til stede i hashmap. Derfor

  • den put()metode tilføjer den nye kortlægning (3 = Java) tilHashMap
  • den replace()metode ikke udføre nogen operation

Hvis du vil lære mere om tilføjelse af poster, skal du besøge Java HashMap put ().

Interessante artikler...