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