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 HashMap
tří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 ().