添加或更新元素
- 使用下标添加或更新元素
- 使用 updateValue(_:forKey:) 方法添加或更新元素,返回一个字典值类型的可选项值
移除元素
- 使用下标脚本语法给一个键赋值 nil 来从字典当中移除一个键值对
- 使用 removeValue(forKey:) 来从字典里移除键值对。这个方法移除键值对如果他们存在的话,并且返回移除的值,如果不存在则返回 nil
合并两个字典
- merge(_:uniquingKeysWith:)
uniquingKeysWith:遇到相同键值的时候使用哪个
var dictionary = ["a":1, "b":2]
dictionary.merge(["a":3, "c":4]) {(current, _) in current}
print(dictionary)
dictionary.merge(["a":5, "d":6]) {(_, new) in new}
print(dictionary)
执行结果如下:
["a": 1, "c": 4, "b": 2]
["b": 2, "d": 6, "a": 5, "c": 4]
firstIndex
- 虽然字典是无序的,但是每个 kv 对在扩容之前的位置是稳定的。如果你需要保持顺序的 kv 对可以使用 KeyValuePairs
- firstIndex 不是整型类型的
网友评论