Java中Map接口提供了put()方法,用于將鍵值對添加到Map集合對象中,如果該鍵已經存在,則覆蓋它的舊值。該方法的語法格式如下:
V put(K key, V value)
其中,K表示鍵的類型,V表示值的類型。該方法將一個鍵值對添加到Map對象中,并返回與鍵關聯的舊值。如果該鍵不存在于Map對象中,則返回null。需要注意的是,如果要將值設為null,則可以調用remove()方法。
以下是一個示例程序,演示如何使用put()方法向Map對象中添加鍵值對:
import java.util.HashMap;
import java.util.Map;
public class Example {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);
System.out.println(map); // 輸出 {Java=1, Python=2, C++=3}
Integer oldValue = map.put("Python", 4);
System.out.println(map); // 輸出 {Java=1, Python=4, C++=3}
System.out.println(oldValue); // 輸出 2
}
}
以上代碼首先創建了一個空的Map對象map,然后使用put()方法向其中添加三個鍵值對。接著打印map對象,輸出結果為{Java=1, Python=2, C++=3}。由于Map對象中的元素是無序的,因此輸出結果的順序可能會有所不同。
然后,使用put()方法覆蓋了"Python"鍵對應的值,將其從2改為4。由于"Python"鍵已經存在于map對象中,因此使用put()方法會覆蓋原來的值。put()方法返回的是與鍵關聯的舊值,即覆蓋前的值,所以最后打印oldValue的值為2。
需要注意的是,當put()方法將鍵值對添加到Map對象中時,如果指定的鍵已經存在于Map對象中,則調用put()方法后原來與該鍵關聯的值會被新值替換。此時舊值會被返回,而不是新值。如果不需要返回舊值,則可以使用Map接口的子接口java.util.HashMap或java.util.concurrent.ConcurrentHashMap中的putIfAbsent()方法。