Java中Map接口提供了put()方法,用于將鍵值對(duì)添加到Map集合對(duì)象中,如果該鍵已經(jīng)存在,則覆蓋它的舊值。該方法的語(yǔ)法格式如下:
V put(K key, V value)
其中,K表示鍵的類(lèi)型,V表示值的類(lèi)型。該方法將一個(gè)鍵值對(duì)添加到Map對(duì)象中,并返回與鍵關(guān)聯(lián)的舊值。如果該鍵不存在于Map對(duì)象中,則返回null。需要注意的是,如果要將值設(shè)為null,則可以調(diào)用remove()方法。
以下是一個(gè)示例程序,演示如何使用put()方法向Map對(duì)象中添加鍵值對(duì):
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
}
}
以上代碼首先創(chuàng)建了一個(gè)空的Map對(duì)象map,然后使用put()方法向其中添加三個(gè)鍵值對(duì)。接著打印map對(duì)象,輸出結(jié)果為{Java=1, Python=2, C++=3}。由于Map對(duì)象中的元素是無(wú)序的,因此輸出結(jié)果的順序可能會(huì)有所不同。
然后,使用put()方法覆蓋了"Python"鍵對(duì)應(yīng)的值,將其從2改為4。由于"Python"鍵已經(jīng)存在于map對(duì)象中,因此使用put()方法會(huì)覆蓋原來(lái)的值。put()方法返回的是與鍵關(guān)聯(lián)的舊值,即覆蓋前的值,所以最后打印oldValue的值為2。
需要注意的是,當(dāng)put()方法將鍵值對(duì)添加到Map對(duì)象中時(shí),如果指定的鍵已經(jīng)存在于Map對(duì)象中,則調(diào)用put()方法后原來(lái)與該鍵關(guān)聯(lián)的值會(huì)被新值替換。此時(shí)舊值會(huì)被返回,而不是新值。如果不需要返回舊值,則可以使用Map接口的子接口java.util.HashMap或java.util.concurrent.ConcurrentHashMap中的putIfAbsent()方法。