Java HashMap replace() 方法將指定鍵的映射替換為散列圖中的指定新值。
用法:
hashmap.replace(K key, V oldValue, V newValue)
這裏,hashmap 是HashMap 類的對象。
參數:
replace() 方法可以采用 3 個參數。
- key- 要替換其映射的鍵
- oldValue(可選)- 要在映射中替換的值
- newValue-
oldValue替換為此值
replace() 返回值
HashMap replace() 方法替換映射並返回:
- 與指定鍵關聯的先前值,如果可選參數
oldValue不存在 true,如果存在可選參數 oldValue
注意: 方法返回null, 如果任一指定的鍵映射到空值或者 key 不在哈希圖中。
示例 1:替換 HashMap 中的條目
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap<Integer, String> 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}
Replaced Value: English
Updated 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) {
// create an HashMap
HashMap<String, String> countries = new HashMap<>();
// insert items to the HashMap
countries.put("Washington", "America");
countries.put("Ottawa", "Canada");
countries.put("Canberra", "Australia");
System.out.println("Countries:\n" + 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():\n" + countries);
}
}
輸出
Countries:
{Canberra=Australia, Ottawa=Canada, Washington=America}
Countries after replace():
{Canberra=Australia, Ottawa=Canada, Washington=USA}
在上麵的示例中,我們創建了一個名為 countries 的 hashmap。注意線,
countries.replace("Washington", "America", "USA");
這裏,replace() 方法包括可選的oldValue 參數(America)。因此,鍵 Washington 映射到值 America 的映射被替換為新值 USA 。
但是,請注意這條線,
countries.replace("Canberra", "New Zealand", "Victoria");
這裏,在哈希圖中,鍵 Canberra 沒有映射到值 New Zealand 。因此,replace() 方法不會替換任何值。
注意: 我們可以使用HashMap clear方法從哈希圖中刪除所有映射。
HashMap put() 對比。 replace()
put() 和 replace() 方法的語法在 HashMap 中看起來非常相似。
// syntax of put()
hashmap.put(key, value)
// syntax of replace()
hashmap.replace(key, value)
並且,當 hashmap 包含指定鍵的映射時,這兩種方法都會替換與指定鍵關聯的值。
但是,如果 hashmap 不包含指定鍵的任何映射,則
-
put()方法插入指定的新映射鑰匙和價值 replace()方法返回null
示例 3:HashMap put() 對比。 replace()
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap<Integer, String> languages1 = new HashMap<>();
// insert entries to HashMap
languages1.put(1, "Python");
languages1.put(2, "JavaScript");
// create another HashMap similar to languages1
HashMap<Integer, String> 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():\n" + languages2);
// use of replace()
languages1.replace(3, "Java");
System.out.println("HashMap after replace():\n" + languages1);
}
}
輸出
HashMap: {1=Python, 2=JavaScript}
HashMap after put():
{1=Python, 2=JavaScript, 3=Java}
HashMap after replace():
{1=Python, 2=JavaScript}
在上麵的示例中,我們創建了兩個名為 languages1 和 languages2 的哈希圖。我們使用了HashMap putAll() 方法,以便兩個哈希圖具有相同的映射。
這裏,鍵 3 的映射不存在於 hashmap 中。因此,
-
put()方法添加新的映射(3 = Java )到HashMap replace()方法不執行任何操作
要了解有關添加條目的更多信息,請訪問Java HashMap put()。
相關用法
- Java HashMap replace(key, value)用法及代碼示例
- Java HashMap replace(key, oldValue, newValue)用法及代碼示例
- Java HashMap replaceAll(BiFunction)用法及代碼示例
- Java HashMap replaceAll()用法及代碼示例
- Java HashMap remove()用法及代碼示例
- Java HashMap merge()用法及代碼示例
- Java HashMap putIfAbsent()用法及代碼示例
- Java HashMap size()用法及代碼示例
- Java HashMap isEmpty()用法及代碼示例
- Java HashMap getOrDefault()用法及代碼示例
- Java HashMap containsValue()用法及代碼示例
- Java HashMap values()用法及代碼示例
- Java HashMap compute()用法及代碼示例
- Java HashMap merge(key, value, BiFunction)用法及代碼示例
- Java HashMap forEach()用法及代碼示例
- Java HashMap put()用法及代碼示例
- Java HashMap putAll()用法及代碼示例
- Java HashMap computeIfPresent()用法及代碼示例
- Java HashMap computeIfPresent(key, BiFunction)用法及代碼示例
- Java HashMap containsKey()用法及代碼示例
注:本文由純淨天空篩選整理自 Java HashMap replace()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
