Java HashMap korvaa ()

Java HashMap Replace () -menetelmä korvaa määritetyn avaimen kartoituksen määritetyllä uudella hashmap-arvolla.

Menetelmän syntaksi replace()on:

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

Tässä hashmap on HashMapluokan kohde.

korvaa () -parametrit

replace()Menetelmä voi kestää 3 parametreja.

  • avain - avain, jonka kartoitus on korvattava
  • oldValue (valinnainen) - arvo, joka vaihdetaan kartoituksessa
  • newValue - oldValue korvataan tällä arvolla

korvaa () Palautusarvot

HashMap- replace()menetelmä korvaa kartoituksen ja palauttaa:

  • edellinen määritettyyn avaimeen liittyvä arvo, jos valinnaista parametria oldValue ei ole
  • true, jos valinnainen parametri oldValue on läsnä

Huomautus : Menetelmä palauttaa null, jos joko määritetty avain on yhdistetty nolla-arvoon tai avainta ei ole hashmapissa.

Esimerkki 1: Korvaa merkintä HashMapissa

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

Tuotos

 HashMap: (1 = Python, 2 = englanti, 3 = JavaScript) Korvattu arvo: English Päivitetty HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

Yllä olevassa esimerkissä olemme luoneet hashmap-nimiset kielet. Tässä olemme käyttäneet korvausmenetelmää () korvaamaan avaimen 1 merkinnät (1 = englanti) määritetyllä arvolla Java.

Tässä replace()menetelmässä ei ole valinnaista oldValue-parametria. Siksi se palauttaa vanhan arvon (englanniksi).

Esimerkki 2: HashMap korvaa () vanhalla arvolla

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

Tuotos

 Maat: (Canberra = Australia, Ottawa = Kanada, Washington = Amerikka) Maat korvaamisen jälkeen (): (Canberra = Australia, Ottawa = Kanada, Washington = USA)

Yllä olevassa esimerkissä olemme luoneet hashmap-nimetyt maat. Huomaa rivi,

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

Tässä korvaava () -menetelmä sisältää valinnaisen oldValue-parametrin (Amerikka). Siksi kartoitus, jossa avain Washington kartoittaa Amerikan arvoa, korvataan uudella arvolla USA.

Huomaa kuitenkin viiva,

 maat.vaihto ("Canberra", "Uusi-Seelanti", "Victoria");

Täällä, hashmapissa, avain Canberra ei kartoita Uuden-Seelannin arvoa. Siksi korvausmenetelmä () ei korvaa arvoa.

Huomaa : Voimme käyttää Java HashMap clear () -menetelmää kaikkien kartoitusten poistamiseen hashmapista.

HashMap put () vs. korvata()

put()Ja replace()-menetelmän syntaksit näyttävät melko samanlaisilta HashMap.

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

Ja kun hashmap sisältää määritetyn avaimen kartoituksen , molemmat menetelmät korvaavat määritettyyn avaimeen liittyvän arvon.

Jos kuitenkin hashmap ei sisällä määritetyn avaimen kartoitusta , niin

  • put()menetelmä lisää uuden mappaus määritelty avain ja arvo
  • replace()menetelmä palaanull

Esimerkki 3: HashMap put () vs. korvata()

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

Tuotos

 HashMap: (1 = Python, 2 = JavaScript) HashMap put (jälkeen) (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap korvaamisen jälkeen (): (1 = Python, 2 = JavaScript)

Yllä olevassa esimerkissä olemme luoneet kaksi hashappia nimeltä kielet1 ja kielet2. Olemme käyttäneet HashMap putAll () -menetelmää niin, että molemmilla hashmapsilla on samat kartoitukset.

Tässä avaimen 3 kartoitus ei ole hashmapissa. Siten,

  • put()menetelmä lisää uuden kartoitus (3 = Java) jaHashMap
  • replace()menetelmä ei suorita mitään toimintoa

Lisätietoja merkintöjen lisäämisestä on Java HashMap put () -sivulla.

Mielenkiintoisia artikkeleita...