Java HashMap replace ()

Metóda Java HashMap replace () nahrádza mapovanie pre zadaný kľúč zadanou novou hodnotou v hashmape.

Syntax replace()metódy je:

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

Tu je hashmap objektom HashMaptriedy.

nahradiť () parametre

replace()Metóda môže trvať 3 parametre.

  • kľúč - kľúč, ktorého mapovanie sa má nahradiť
  • oldValue (voliteľné) - hodnota, ktorá sa má nahradiť v mapovaní
  • newValue - oldValue sa nahradí touto hodnotou

replace () Vrátiť hodnoty

Metóda HashMap replace()nahrádza mapovanie a vracia:

  • predchádzajúca hodnota spojená so zadaným kľúčom, ak nie je prítomný voliteľný parameter oldValue
  • true, ak je k dispozícii voliteľný parameter oldValue

Poznámka : Metóda sa vráti null, ak je zadaný kľúč namapovaný na nulovú hodnotu alebo sa kľúč nenachádza v hashmape.

Príklad 1: Nahradenie záznamu v 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); ) )

Výkon

 HashMap: (1 = Python, 2 = angličtina, 3 = JavaScript) Nahradená hodnota: angličtina Aktualizovaná HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

Vo vyššie uvedenom príklade sme vytvorili hashmapu s názvom jazyky. Tu sme použili metódu replace () na nahradenie záznamu pre kľúč 1 (1 = angličtina) zadanou hodnotou Java.

Tu replace()metóda nemá voliteľný parameter oldValue. Preto vráti starú hodnotu (anglicky).

Príklad 2: HashMap replace () so starou hodnotou

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

Výkon

 Krajiny: (Canberra = Austrália, Ottawa = Kanada, Washington = Amerika) Krajiny po výmene (): (Canberra = Austrália, Ottawa = Kanada, Washington = USA)

Vo vyššie uvedenom príklade sme vytvorili hashmapu s názvom krajiny. Všimnite si riadok,

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

Metóda replace () tu obsahuje voliteľný parameter oldValue (Amerika). Preto je mapovanie, v ktorom kľúčové mapy Washingtonu hodnotia Ameriku, nahradené novou hodnotou USA.

Všimnite si však hranicu,

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

Tu v hashmape kľúčová Canberra nemapuje hodnotu Nového Zélandu. Metóda replace () teda nenahrádza žiadnu hodnotu.

Poznámka : Na odstránenie všetkých mapovaní z hashmapy môžeme použiť metódu Java HashMap clear ().

HashMap put () vs. nahradiť ()

Syntax metódy put()a replace()vyzerá dosť podobne v prehliadači HashMap.

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

A keď hashmap obsahuje mapovanie pre zadaný kľúč , potom obidve metódy nahradia hodnotu spojenú so zadaným kľúčom.

Ak však hashmapa neobsahuje žiadne mapovanie pre zadaný kľúč , potom

  • put()metóda vloží nové mapovanie pre zadaný kľúč a hodnotu
  • že replace()metóda vrátinull

Príklad 3: HashMap put () vs. nahradiť ()

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

Výkon

 HashMap: (1 = Python, 2 = JavaScript) HashMap po vložení (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap po nahradení (): (1 = Python, 2 = JavaScript)

Vo vyššie uvedenom príklade sme vytvorili dva hashmapy s názvom languages1 a languages2. Použili sme metódu HashMap putAll (), aby oba hashmapy mali rovnaké mapovania.

Mapovanie pre kľúč 3 tu nie je v hashmape. Teda

  • put()metóda pridá nové mapovanie (3 = Java) preHashMap
  • replace()metóda nevykonáva žiadnu operáciu

Ak sa chcete dozvedieť viac o pridávaní položiek, navštívte Java HashMap put ().

Zaujímavé články...