Zamiana Java HashMap ()

Metoda Java HashMap replace () zastępuje mapowanie określonego klucza określoną nową wartością w tablicy mieszającej.

Składnia replace()metody to:

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

Tutaj hashmap jest obiektem tej HashMapklasy.

replace () Parametry

replace()Sposób może 3 parametrów.

  • klucz - klucz, którego mapowanie ma zostać zastąpione
  • oldValue (opcjonalne) - wartość do zastąpienia w mapowaniu
  • newValue - ta wartość zastępuje oldValue

replace () Zwracane wartości

Metoda HashMap replace()zastępuje mapowanie i zwraca:

  • poprzednia wartość skojarzona z określonym kluczem, jeśli nie ma opcjonalnego parametru oldValue
  • true, jeśli występuje opcjonalny parametr oldValue

Uwaga : Metoda zwraca null, jeśli określony klucz jest zamapowany na wartość null lub klucz nie jest obecny w tablicy mieszającej.

Przykład 1: Zastąp wpis w 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); ) )

Wynik

 HashMap: (1 = Python, 2 = angielski, 3 = JavaScript) Zastąpiona wartość: angielski Zaktualizowany HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

W powyższym przykładzie utworzyliśmy hashmap o nazwie języki. W tym przypadku użyliśmy metody replace (), aby zastąpić wpis dla klucza 1 (1 = angielski) określoną wartością Java.

Tutaj replace()metoda nie ma opcjonalnego parametru oldValue. W związku z tym zwraca starą wartość (angielski).

Przykład 2: HashMap zamień () na starą wartość

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

Wynik

 Kraje: (Canberra = Australia, Ottawa = Kanada, Waszyngton = Ameryka) Kraje po zastąpieniu (): (Canberra = Australia, Ottawa = Kanada, Waszyngton = USA)

W powyższym przykładzie utworzyliśmy hashmap o nazwie kraje. Zwróć uwagę na linię,

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

Tutaj metoda replace () zawiera opcjonalny parametr oldValue (Ameryka). Stąd mapowanie, w którym kluczowy Waszyngton odwzorowuje wartościową Amerykę, zostaje zastąpione nową wartością USA.

Jednak zwróć uwagę na linię,

 kraje.replace („Canberra”, „Nowa Zelandia”, „Victoria”);

Tutaj, w skrócie, klucz Canberra nie odpowiada wartości Nowej Zelandii. Dlatego metoda replace () nie zastępuje żadnej wartości.

Uwaga : możemy użyć metody clear () języka Java HashMap, aby usunąć wszystkie mapowania z hashmap.

HashMap put () Vs. zastąpić()

Składnia metody put()i replace()wygląda dość podobnie w programie HashMap.

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

A gdy hashmap zawiera mapowanie dla określonego klucza , obie metody zastępują wartość skojarzoną z określonym kluczem.

Jeśli jednak hashmap nie zawiera żadnego mapowania dla określonego klucza , to

  • put()metoda wstawia nowe mapowanie dla określonego klucza i wartości
  • gdy replace()wraca metodanull

Przykład 3: HashMap put () vs. zastąpić()

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

Wynik

 HashMap: (1 = Python, 2 = JavaScript) HashMap po put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap after replace (): (1 = Python, 2 = JavaScript)

W powyższym przykładzie utworzyliśmy dwa hashmapy o nazwach języki1 i języki2. Użyliśmy metody HashMap putAll (), aby obie hashmapy miały takie same mapowania.

W tym przypadku mapowanie dla klucza 3 nie jest obecne w tablicy mieszania. W związku z tym,

  • put()Sposób dodanie nowego odwzorowania (3 = Java) doHashMap
  • replace()sposób nie wykonuje żadnej operacji

Aby dowiedzieć się więcej o dodawaniu wpisów, odwiedź stronę Java HashMap put ().

Interesujące artykuły...