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 = English, 3 = JavaScript) Замененное значение: English Обновлено HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

В приведенном выше примере мы создали хэш-карту с именем languages. Здесь мы использовали метод 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); ) )

Вывод

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

В приведенном выше примере мы создали хэш-карту с именем country. Обратите внимание на линию,

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

Здесь метод replace () включает необязательный параметр oldValue (America). Следовательно, карта, в которой ключевые слова Вашингтона соотносятся с Америкой, заменена новой ценностью США.

Однако обратите внимание на линию,

 country.replace («Канберра», «Новая Зеландия», «Виктория»);

Здесь, в хэш-карте, ключ, который Канберра не отображает для оценки Новой Зеландии. Следовательно, метод replace () не заменяет никакого значения.

Примечание : мы можем использовать метод Java HashMap clear () для удаления всех сопоставлений из хэш-карты.

HashMap put () Vs. заменить ()

Синтаксис метода put()и replace()в HashMap.

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

И, когда хэш-карта содержит отображение для указанного ключа , тогда оба метода заменяют значение, связанное с указанным ключом.

Однако, если хэш-карта не содержит сопоставления для указанного ключа , тогда

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

Пример 3: HashMap put () Vs. заменить ()

 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. Мы использовали метод putAll () HashMap, чтобы обе хэш-карты имели одинаковые сопоставления.

Здесь отображение для ключа 3 отсутствует в хэш-карте. Следовательно,

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

Чтобы узнать больше о добавлении записей, посетите Java HashMap put ().

Интересные статьи...