English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java управление потоком

Java массив

Java объектно-ориентированное программирование (I)

Java объектно-ориентированное программирование (II)

Java объектно-ориентированное программирование (III)

Обработка исключений Java

Java список (List)

Java Queue (очередь)

Java Map集合

Java Set集合

Java ввод-вывод (I/O)

Java Reader/Writer

Java другие темы

Метод replace() HashMap Java: использование и примеры

Java HashMap методы

Метод replace() HashMap Java заменяет мапу с указанным ключом на новый значением в хеш-мапе

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

Синтаксис метода replace(): hashmap.replace(K key, V oldValue, V newValue)

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

  • key  - Ключ, который нужно заменить в мапе

  • oldValue (опционально) - Значение, которое нужно заменить в мапе

  • newValue - oldValue заменяется этим значением

Возвратное значение replace()

 Метод replace() HashMap заменяет мапу и возвращает:

  • Если опциональный параметр oldValue отсутствует, то это предыдущее значение, связанное с указанным ключом

  • Если существует опциональный параметр oldValue, то true

注意: Если указанный ключ мапы соответствует null значению или ключ не существует в hashmap, то该方法 возвращает null.

Пример 1: Замена элемента в HashMap

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // создание HashMap
    HashMap<Integer, String> languages = new HashMap<>();
    //Добавить элемент в HashMap
    languages.put(1, "Python");
    languages.put(2, "English");
    languages.put(3, "JavaScript");
    System.out.println("HashMap: " + languages);
    //Заменить ключ 2 в мапе
    String value = languages.replace(2, "Java");
    System.out.println("Замененная стоимость: " + value);
    System.out.println("Обновленная HashMap: " + languages);
  }
}

результат вывода

HashMap: {1=Python, 2=English, 3=JavaScript}
Замененная стоимость: English
Обновленная HashMap: {1=Python, 2=Java, 3=JavaScript}

В примере выше мы создали хеш-мапу с именем languages. Здесь мы использовали метод replace() для замены ключа1Элемент (1=English) заменяется указанным значением Java.

Здесь метод replace() не имеет параметра oldValue. Поэтому он возвращает старое значение (English).

Пример 2: HashMap replace() с существующими значениями

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Создание HashMap
    HashMap<String, String> countries = new HashMap<>();
    // Вставка элемента в HashMap
    countries.put("Washington", "America");
    countries.put("Ottawa", "Canada");
    countries.put("Canberra", "Australia");
    System.out.println("Countries:\n" + countries);
    // Заменяет карту {Washington = America}
    countries.replace("Washington", "America", "USA"); // возвращает true
    countries.replace("Canberra", "New Zealand", "Victoria"); // возвращает false
    System.out.println("Countries:\n" + countries);
  }
}

результат вывода

Countries:
{Canberra=Australia, Ottawa=Canada, Washington=America}
Countries после выполнения replace():
{Canberra=Australia, Ottawa=Canada, Washington=USA}

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

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

Здесь метод replace() включает опциональный параметр oldValue (America). Поэтому карта привязок, где ключ Washington привязан к значению America, будет заменена на новый значений USA.

Но请注意,

countries.replace("Canberra", "New Zealand", "Victoria");

Здесь, ключ Canberra не привязан к значению New Zealand в хеш-мапе. Поэтому метод replace() не заменит никакое значение.

注意обратите внимание  Java HashMap clear()  :мы можем использовать

методы удаляют все соответствия из хэш-карты.

HashMap put() и replace()

В HashMap синтаксис методов put() и replace() очень похож.
// синтаксис put()
hashmap.put(key, value)
// синтаксис replace()

hashmap.replace(key, value)ключи, когда хэш-карта содержит соответствие с заданным

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

  • метод put() для заданногоключизначениевставка новой карты

  • метод replace() возвращает null

Пример 3: методы put() и replace() для HashMap

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // создание HashMap
    HashMap<Integer, String> languages1 = new HashMap<>();
    // вставка элементов в HashMap
    languages1.put(1, "Python");
    languages1.put(2, "JavaScript");
    // создание другого HashMap, подобного languages1
    HashMap<Integer, String> languages2 = new HashMap<>();
    // все элементы из language1 в language2
    languages2.putAll(languages1);
    System.out.println("HashMap: " + languages1);
    // использование put()
    languages2.put(3, "Java");
    System.out.println("HashMap после put():\n" + languages2);
    // использование replace()
    languages1.replace(3, "Java");
    System.out.println("HashMap после replace():\n" + languages1);
  }
}

результат вывода

HashMap: {1=Python, 2=JavaScript}
HashMap после put():
{1=Python, 2=JavaScript, 3=Java}
HashMap после HashMap():
{1=Python, 2=JavaScript}

В примере выше мы создали два хэш-мапы с именами languages1 и languages2. Мы использовалиHashMap putAll()методы, чтобы два хэш-мапы имели одинаковые маппинги.

Здесь ключ не существует в хэш-мапе3. Таким образом,

  • метод put() добавляет новый маппинг(3 = Java) добавитьв HashMap

  • метод replace() не выполняет никаких действий

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

Java HashMap методы