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 HashMap
klassen.
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 ().