新增多個專案

我們可以使用 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);