Java HashMap replace ()

Метод Java HashMap replace () замінює відображення для вказаного ключа зазначеним новим значенням у хеш-капі.

Синтаксис replace()методу:

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

Тут hashmap є об'єктом HashMapкласу.

replace () Параметри

replace()Метод може приймати 3 параметра.

  • key - ключ, відображення якого слід замінити
  • oldValue (необов’язково) - значення, яке замінюється у відображенні
  • newValue - oldValue замінюється цим значенням

replace () Повернені значення

Метод HashMap replace()замінює відображення і повертає:

  • попереднє значення, пов'язане із вказаним ключем, якщо необов'язкового параметра oldValue немає
  • true, якщо присутній необов’язковий параметр oldValue

Примітка : Метод повертає null, якщо вказаний ключ зіставляється з нульовим значенням або ключ відсутній на хеш-карті.

Приклад 1: Замініть запис у 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); ) )

Вихідні дані

 HashMap: (1 = Python, 2 = англійська, 3 = JavaScript) Замінене значення: оновлена ​​англійською мовою HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

У наведеному вище прикладі ми створили хеш-карту з іменами мови. Тут ми використали метод replace (), щоб замінити запис для ключа 1 (1 = англійська) вказаним значенням Java.

Тут replace()метод не має додаткового параметра oldValue. Отже, він повертає старе значення (англійською мовою).

Приклад 2: HashMap replace () зі старим значенням

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

Вихідні дані

 Країни: (Канберра = Австралія, Оттава = Канада, Вашингтон = Америка) Країни після заміни (): (Канберра = Австралія, Оттава = Канада, Вашингтон = США)

У наведеному вище прикладі ми створили хеш-карту з назвою країни. Зверніть увагу на рядок,

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

Тут метод replace () включає необов’язковий параметр oldValue (Америка). Отже, відображення, де ключові карти Вашингтона для оцінки Америки замінюються новими значеннями США.

Однак зверніть увагу на рядок,

 countries.replace ("Канберра", "Нова Зеландія", "Вікторія");

Тут, у хеш-мапі, ключ Канберри не відображає значення Нової Зеландії. Отже, метод replace () не замінює жодного значення.

Примітка : Ми можемо використовувати метод Java HashMap clear (), щоб видалити всі зіставлення з хеш-карти.

HashMap put () Vs. replace ()

Синтаксис методу put()and replace()виглядає досить схожим у HashMap.

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

І коли хеш-карта містить відображення для вказаного ключа , тоді обидва методи замінюють значення, пов’язане із зазначеним ключем.

Однак, якщо хеш-карта не містить жодного зіставлення для вказаного ключа , тоді

  • put()метод вставляє нове відображення для зазначеного ключа і значення
  • то replace()метод повертаєnull

Приклад 3: HashMap put () Vs. replace ()

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

Вихідні дані

 HashMap: (1 = Python, 2 = JavaScript) HashMap після put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap після replace (): (1 = Python, 2 = JavaScript)

У наведеному вище прикладі ми створили дві хеш-карти з іменами languages1 та languages2. Ми використовували метод HashMap putAll (), щоб обидва хеш-карти мали однакові відображення.

Тут відображення ключа 3 у хеш-карті відсутнє. Отже,

  • put()метод додає нове відображення (3 = Java) дляHashMap
  • replace()метод не виконує ніяких операцій

Щоб дізнатись більше про додавання записів, відвідайте Java HashMap put ().

Цікаві статті...