Java HashMap erstatte ()

Java HashMap erstatt () -metoden erstatter kartleggingen for den angitte nøkkelen med den angitte nye verdien i et hashmap.

Syntaksen til replace()metoden er:

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

Her er hashmap et objekt i HashMapklassen.

erstatt () Parametere

Den replace()metode kan ta 3 parametre.

  • nøkkel - nøkkel hvis kartlegging skal byttes ut
  • oldValue (valgfritt) - verdi som skal erstattes i kartleggingen
  • newValue - oldValue erstattes med denne verdien

erstatt () Returverdier

HashMap- replace()metoden erstatter kartleggingen og returnerer:

  • forrige verdi tilknyttet den angitte nøkkelen, hvis den valgfrie parameteren oldValue ikke er tilstede
  • true, hvis den valgfrie parameteren oldValue er til stede

Merk : Metoden returnerer null, hvis enten den spesifiserte nøkkelen er tilordnet en nullverdi eller nøkkelen ikke er tilstede på hashmap.

Eksempel 1: Erstatt en oppføring 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); ) )

Produksjon

 HashMap: (1 = Python, 2 = engelsk, 3 = JavaScript) Erstatt verdi: engelsk Oppdatert HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

I eksemplet ovenfor har vi opprettet en hashmap som heter språk. Her har vi brukt erstatningsmetoden () for å erstatte oppføringen for nøkkel 1 (1 = engelsk) med den angitte verdien Java.

Her har replace()metoden ikke den valgfrie oldValue-parameteren. Derfor returnerer den den gamle verdien (engelsk).

Eksempel 2: HashMap erstatt () med gammel verdi

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

Produksjon

 Land: (Canberra = Australia, Ottawa = Canada, Washington = Amerika) Land etter erstatter (): (Canberra = Australia, Ottawa = Canada, Washington = USA)

I eksemplet ovenfor har vi opprettet en hashmap som heter land. Legg merke til linjen,

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

Her inkluderer erstatningsmetoden () den valgfrie oldValue-parameteren (Amerika). Derfor blir kartleggingen der nøkkelen Washington kartlegger verdsetting av Amerika erstattet med ny verdi USA.

Legg imidlertid merke til linjen,

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

Her, i hashmap, kartlegges ikke nøkkelen Canberra for å verdsette New Zealand. Derfor erstatter metoden () ikke noen verdi.

Merk : Vi kan bruke metoden Java HashMap clear () for å fjerne alle tilordningene fra hashmap.

HashMap put () vs. erstatte()

Syntaksen for put()og replace()metoden ser ganske lik ut i HashMap.

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

Og når hashmap inneholder kartleggingen for den angitte nøkkelen , erstatter begge metodene verdien som er knyttet til den angitte nøkkelen.

Imidlertid, hvis hashmap ikke inneholder noen kartlegging for den angitte nøkkelen , da

  • den put()metode setter inn en ny tilordning for den angitte nøkkel og verdien
  • de replace()metoden returnerernull

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

Produksjon

 HashMap: (1 = Python, 2 = JavaScript) HashMap etter put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap etter erstatt (): (1 = Python, 2 = JavaScript)

I eksemplet ovenfor har vi opprettet to hashmaps som heter språk1 og språk2. Vi har brukt HashMap putAll () -metoden slik at begge hashmaps har samme kartlegginger.

Her er ikke kartleggingen for nøkkel 3 til stede i hashmap. Derfor,

  • den put()metoden legger den nye kartleggingen (3 = Java) tilHashMap
  • at replace()metoden ikke utfører noen operasjon

For å lære mer om å legge til oppføringer, besøk Java HashMap put ().

Interessante artikler...