Map 是键值对的顺序集合,与类似上下文中使用的数组几乎相同。键可以是任意类型,但必须是唯一的,如果使用相同的键添加到映射中,则会替换这些值。
优势
- 键和值可以是任何类型,包括对象。
- 支持数组语法(方括号)。
- 广告订单将保留。
- 性能和内存效率与数组非常相似。
- 当其大小下降到足够低时,自动释放分配的内存。
弱势
- 当对象用作键时,无法转换为数组。
函数列表
以下是 Map 类提供的函数列表 -
函数 | 描述 |
---|---|
Ds\Map::allocate() | 为所需的容量分配足够的内存。 |
Ds\Map::apply() | 通过对每个值应用回调函数来更新所有值。 |
Ds\Map::capacity() | 返回当前容量。 |
Ds\Map::clear() | 删除所有值。 |
Ds\Map::copy() | 返回 map 的浅表副本。 |
Ds\Map::count() | 返回 map 值的个数。 |
Ds\Map::diff() | 使用不在另一个 map 中的键来创建新 map。 |
Ds\Map::filter() | 通过使用 callable 来确定要包含哪些对来创建新 map。 |
Ds\Map::first() | 返回 map 中的第一对。 |
Ds\Map::get() | 返回给定键的值。 |
Ds\Map::hasKey() | 确定 map 是否包含给定的键。 |
Ds\Map::hasValue() | 确定 map 是否包含给定值。 |
Ds\Map::intersect() | 通过将 keys 与另一个 map 相交来创建新 map。 |
Ds\Map::isEmpty() | 返回 map 是否为空。 |
Ds\Map::jsonSerialize() | 返回可转换为 JSON 的表示形式。 |
Ds\Map::keys() | 返回 map 的 key 集。 |
Ds\Map::ksort() | 按键就地对 map 进行排序。 |
Ds\Map::ksorted() | 返回一个副本,按键排序。 |
Ds\Map::last() | 返回 map 的最后一对。 |
Ds\Map::map() | 返回对每个值应用回调的结果。 |
Ds\Map::merge() | 返回添加所有给定关联的结果。 |
Ds\Map::pairs() | 返回包含所有 map 对的序列。 |
Ds\Map::put() | 将 key 与值相关联。 |
Ds\Map::putAll() | 关联可遍历对象或数组的所有键值对。 |
Ds\Map::reduce() | 使用回调函数将 map 缩减为单个值。 |
Ds\Map::remove() | 按键删除并返回一个值。 |
Ds\Map::reverse() | 就地反转 map 。 |
Ds\Map::reversed() | 返回反向副本。 |
Ds\Map::skip() | 返回给定位置索引处的对。 |
Ds\Map::slice() | 返回由起始索引和长度定义的 map 子集。 |
Ds\Map::sort() | 按值对 map 进行就地排序。 |
Ds\Map::sorted() | 返回按值排序的副本。 |
Ds\Map::sum() | 返回 map 中所有值的总和。 |
Ds\Map::toArray() | 将 map 转换为数组。 |
Ds\Map::union() | 使用当前实例和另一个 Map 中的值创建新 Map。 |
Ds\Map::values() | 返回 map 值的序列。 |
Ds\Map::xor() | 使用当前实例或另一个 map 的键创建新 map,但不能同时使用两者。 |