English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод replace() HashMap Java заменяет мапу с указанным ключом на новый значением в хеш-мапе
Синтаксис метода replace()
Синтаксис метода replace(): hashmap.replace(K key, V oldValue, V newValue)
key - Ключ, который нужно заменить в мапе
oldValue (опционально) - Значение, которое нужно заменить в мапе
newValue - oldValue заменяется этим значением
Метод replace() HashMap заменяет мапу и возвращает:
Если опциональный параметр oldValue отсутствует, то это предыдущее значение, связанное с указанным ключом
Если существует опциональный параметр oldValue, то true
注意: Если указанный ключ мапы соответствует null значению или ключ не существует в hashmap, то该方法 возвращает null.
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).
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
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()методы, чтобы узнать больше о добавлении элементов.