Java HashMap replace ()

Metoda Java HashMap replace () nahradí mapování pro zadaný klíč zadanou novou hodnotou v hashmap.

Syntaxe replace()metody je:

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

Zde je hashmap objekt HashMaptřídy.

nahradit () parametry

replace()Metoda může trvat 3 parametry.

  • klíč - klíč, jehož mapování má být nahrazeno
  • oldValue (volitelně) - hodnota, která má být nahrazena v mapování
  • newValue - oldValue je nahrazen touto hodnotou

replace () Vrátit hodnoty

Metoda HashMap replace()nahradí mapování a vrátí:

  • předchozí hodnota spojená se zadaným klíčem, pokud není přítomen volitelný parametr oldValue
  • true, pokud je přítomen volitelný parametr oldValue

Poznámka : Metoda se vrátí null, pokud je zadaný klíč namapován na nulovou hodnotu nebo klíč není na hashmapě.

Příklad 1: Nahradit položku 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ýstup

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

Ve výše uvedeném příkladu jsme vytvořili hashmapu pojmenovanou jazyky. Zde jsme použili metodu replace () k nahrazení položky pro klíč 1 (1 = angličtina) zadanou hodnotou Java.

Zde replace()metoda nemá volitelný parametr oldValue. Proto vrací starou hodnotu (anglicky).

Příklad 2: HashMap replace () se 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ýstup

 Země: (Canberra = Austrálie, Ottawa = Kanada, Washington = Amerika) Země po výměně (): (Canberra = Austrálie, Ottawa = Kanada, Washington = USA)

Ve výše uvedeném příkladu jsme vytvořili hashmapu s názvem země. Všimněte si řádku,

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

Zde metoda replace () zahrnuje volitelný parametr oldValue (Amerika). Proto je mapování, kde klíčové Washingtonovy mapy hodnotí Ameriku, nahrazeno novou hodnotou USA.

Všimněte si však řádku

 country.replace ("Canberra", "Nový Zéland", "Victoria");

Zde v hashmapě klíčová Canberra nemapuje hodnotu Nového Zélandu. Metoda replace () tedy nenahrazuje žádnou hodnotu.

Poznámka : K odstranění všech mapování z hashmapy můžeme použít metodu Java HashMap clear ().

HashMap put () vs. nahradit()

Syntaxe metody put()and replace()vypadá docela podobně HashMap.

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

A když hashmap obsahuje mapování pro zadaný klíč , pak obě metody nahradí hodnotu přidruženou k zadanému klíči.

Pokud však hashmap neobsahuje žádné mapování pro zadaný klíč , pak

  • put()metoda vloží nové mapování pro zadaný klíč a hodnotu
  • že replace()metoda vrátínull

Příklad 3: HashMap put () Vs. nahradit()

 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ýstup

 HashMap: (1 = Python, 2 = JavaScript) HashMap po put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap po nahrazení (): (1 = Python, 2 = JavaScript)

Ve výše uvedeném příkladu jsme vytvořili dva hashmapy s názvem languages1 a languages2. Použili jsme metodu HashMap putAll (), aby oba hashmapy měly stejné mapování.

Mapování pro klíč 3 zde není v hashmapě. Proto,

  • put()metoda přidá nové mapování (3 = Java) proHashMap
  • replace()metoda neprovádí žádnou operaci

Chcete-li se dozvědět více o přidávání položek, navštivte Java HashMap put ().

Zajímavé články...