新增多個專案
我們可以使用 V put(K key,V value)
:
將指定的值與此對映中的指定鍵相關聯(可選操作)。如果對映先前包含鍵的對映,則舊值將替換為指定的值。
String currentVal;
Map<Integer, String> map = new TreeMap<>();
currentVal = map.put(1, "First element.");
System.out.println(currentVal);// Will print null
currentVal = map.put(2, "Second element.");
System.out.println(currentVal); // Will print null yet again
currentVal = map.put(2, "This will replace 'Second element'");
System.out.println(currentVal); // will print Second element.
System.out.println(map.size()); // Will print 2 as key having
// value 2 was replaced.
Map<Integer, String> map2 = new HashMap<>();
map2.put(2, "Element 2");
map2.put(3, "Element 3");
map.putAll(map2);
System.out.println(map.size());
輸出:
3
要新增許多項,你可以使用如下內部類:
Map<Integer, String> map = new HashMap<>() {{
// This is now an anonymous inner class with an unnamed instance constructor
put(5, "high");
put(4, "low");
put(1, "too slow");
}};
請記住,建立匿名內部類並不總是有效並且可能導致記憶體洩漏,因此在可能的情況下,請使用初始化程式塊:
static Map<Integer, String> map = new HashMap<>();
static {
// Now no inner classes are created so we can avoid memory leaks
put(5, "high");
put(4, "low");
put(1, "too slow");
}
上面的示例使地圖成為靜態。它還可以通過刪除 static
的所有出現來在非靜態環境中使用。
除此之外,大多數實現都支援 putAll
,它可以將一個地圖中的所有條目新增到另一個地圖中,如下所示:
another.putAll(one);