Java HashMap ersätt ()

Java HashMap-ersättningsmetoden () ersätter kartläggningen för den angivna nyckeln med det angivna nya värdet i en hashmap.

Syntaxen för replace()metoden är:

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

Här är hashmap ett objekt i HashMapklassen.

ersätt () Parametrar

Den replace()metod kan ta 3 parametrar.

  • nyckel - nyckel vars mappning ska bytas ut
  • oldValue (valfritt) - värde som ska ersättas i kartläggningen
  • newValue - oldValue ersätts med detta värde

ersätt () Returvärden

HashMap- replace()metoden ersätter kartläggningen och returnerar:

  • föregående värde associerat med den angivna nyckeln, om den valfria parametern oldValue inte finns
  • true, om den valfria parametern oldValue finns

Obs! Metoden returneras nullom antingen den angivna nyckeln mappas till ett nollvärde eller om nyckeln inte finns på hashmap.

Exempel 1: Ersätt 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 = engelska, 3 = JavaScript) Ersatt värde: engelska Uppdaterat HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

I exemplet ovan har vi skapat en hashmap med namnet språk. Här har vi använt ersättningsmetoden () för att ersätta posten för nyckel 1 (1 = engelska) med det angivna värdet Java.

Här har replace()metoden inte den valfria parametern oldValue. Därför returnerar det gamla värdet (engelska).

Exempel 2: HashMap ersätt () med gammalt värde

 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

 Länder: (Canberra = Australien, Ottawa = Kanada, Washington = Amerika) Länder efter ersätter (): (Canberra = Australien, Ottawa = Kanada, Washington = USA)

I exemplet ovan har vi skapat en hashmap med namnen länder. Lägg märke till raden,

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

Här innefattar ersättningsmetoden () den valfria parametern oldValue (Amerika). Därför ersätts kartläggningen där nyckel Washington kartläggs för att värdera Amerika med nytt värde USA.

Lägg märke till raden,

 länder. ersätta ("Canberra", "Nya Zeeland", "Victoria");

Här, i hashmap, kartläggs inte nyckeln Canberra för att värdera Nya Zeeland. Därför ersätter metoden () inte något värde.

Obs! Vi kan använda metoden Java HashMap clear () för att ta bort alla mappningar från hashmap.

HashMap put () Vs. byta ut()

Syntaxen för put()och replace()metoden ser ganska lika ut i HashMap.

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

Och när hashmappen innehåller kartläggningen för den angivna nyckeln , ersätter båda metoderna värdet som är associerat med den angivna nyckeln.

Men om hashmap inte innehåller någon mappning för den angivna nyckeln , då

  • den put()metod infogar den nya mappning för den angivna nyckeln och värdet
  • de replace()metoden returnerarnull

Exempel 3: HashMap put () Vs. byta ut()

 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 ersättare (): (1 = Python, 2 = JavaScript)

I exemplet ovan har vi skapat två hashmaps med namnet språk1 och språk2. Vi har använt HashMap putAll () -metoden så att båda hashmaps har samma mappningar.

Här finns inte kartläggningen för nyckel 3 i hashmappen. Därmed,

  • det put()förfarande adderar det nya kart (3 = Java) tillHashMap
  • den replace()metoden inte utför någon operation

För att lära dig mer om hur du lägger till poster, besök Java HashMap put ().

Intressanta artiklar...