Java添加多个项目

示例

我们可以使用:V put(K key,V value)

将指定值与此映射中的指定键关联(可选操作)。如果该映射先前包含该键的映射,则旧值将替换为指定值。

String currentVal;
Map<Integer, String> map = new TreeMap<>();
currentVal = map.put(1, "第一个要素。");
System.out.println(currentVal);// 将打印为空
currentVal = map.put(2, "第二要素。");
System.out.println(currentVal); // 将打印为空 yet again    
currentVal = map.put(2, "This will replace 'Second element'");
System.out.println(currentVal); // will print 第二要素。
System.out.println(map.size()); // 将打印2作为具有
// 值2被替换。

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<>() {{
    // 现在这是一个带有未命名实例构造函数的匿名内部类
    put(5, "high");
    put(4, "low");
    put(1, "too slow");
}};

请记住,创建匿名内部类并不总是很有效,并且可能导致内存泄漏,因此请尽可能使用初始化程序块:

static Map<Integer, String> map = new HashMap<>();

static {
    // 现在没有创建内部类,因此我们可以避免内存泄漏
    put(5, "high");
    put(4, "low");
    put(1, "too slow");
}

上面的示例将映射设为静态。通过删除所有出现的,它也可以用于非静态上下文static。

除了大多数实现支持之外putAll,它还可以像这样将一个映射中的所有条目添加到另一个映射中:

another.putAll(one);