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