Most visited

Recently visited

ArrayMap

public class ArrayMap
extends SimpleArrayMap<K, V> implements Map<K, V>

java.lang.Object
   ↳ android.support.v4.util.SimpleArrayMap<K, V>
     ↳ android.support.v4.util.ArrayMap<K, V>
Known Direct Subclasses


ArrayMap是一种通用的key-> value映射数据结构,与传统的HashMap ,该结构的内存效率HashMap ,该实现是平台ArrayMap一个版本,可用于旧版本的平台。 它将映射保存在数组数据结构中 - 每个项目的哈希代码的整数数组,以及键/值对的Object数组。 这使得它可以避免为放入地图的每个条目创建额外的对象,并且还试图更积极地控制这些数组大小的增长(因为增长它们只需要复制数组中的条目,而不是重建哈希映射)。

如果您不需要这里提供的标准Java容器API(迭代器等),请考虑使用 SimpleArrayMap

请注意,此实现不适用于可能包含大量项目的数据结构。 它通常比传统的HashMap慢,因为查找需要二分搜索并添加和删除需要插入和删除数组中的条目。 对于容纳数百种物品的容器,性能差异不显着,小于50%。

由于此容器旨在更好地平衡内存使用,与大多数其他标准Java容器不同,它会在从其中删除项目时收缩其阵列。 目前,您无法控制这种缩小 - 如果您设置容量然后移除项目,则可能会降低容量以更好地匹配当前大小。 未来,设置容量的明确要求应该关闭这种积极的收缩行为。

Summary

Public constructors

ArrayMap()
ArrayMap(int capacity)

用给定的初始容量创建一个新的ArrayMap。

ArrayMap(SimpleArrayMap map)

使用给定ArrayMap的映射创建一个新的ArrayMap。

Public methods

boolean containsAll(Collection<?> collection)

确定数组映射是否包含给定集合中的所有键。

Set<Entry<K, V>> entrySet()

返回一个 Set用于遍历数组映射中的所有映射并与其进行交互。

Set<K> keySet()

返回一个 Set用于遍历数组映射中的所有键并与其交互。

void putAll(Map<? extends K, ? extends V> map)

地图中执行所有键/值对的 put(Object, Object)

boolean removeAll(Collection<?> collection)

删除给定集合中存在的数组映射中的所有键。

boolean retainAll(Collection<?> collection)

删除数组映射中 存在于给定集合中的所有键。

Collection<V> values()

返回 Collection以迭代数组映射中的所有值并与其交互。

Inherited methods

From class android.support.v4.util.SimpleArrayMap
From class java.lang.Object
From interface java.util.Map

Public constructors

ArrayMap

ArrayMap ()

ArrayMap

ArrayMap (int capacity)

用给定的初始容量创建一个新的ArrayMap。

Parameters
capacity int

ArrayMap

ArrayMap (SimpleArrayMap map)

使用给定ArrayMap的映射创建一个新的ArrayMap。

Parameters
map SimpleArrayMap

Public methods

containsAll

boolean containsAll (Collection<?> collection)

确定数组映射是否包含给定集合中的所有键。

Parameters
collection Collection: The collection whose contents are to be checked against.
Returns
boolean Returns true if this array map contains a key for every entry in collection, else returns false.

entrySet

Set<Entry<K, V>> entrySet ()

返回 Set用于遍历数组映射中的所有映射并与其交互。

注意:这是访问数组内容的非常低效的方式,它需要生成一些临时对象。

注意:

the semantics of this Set are subtly different than that of a HashMap: most important, the Map.Entry object returned by its iterator is a single object that exists for the entire iterator, so you can not hold on to it after calling Iterator.next.

Returns
Set<Entry<K, V>> a set view of the mappings contained in this map

keySet

Set<K> keySet ()

返回一个 Set用于迭代数组映射中的所有键并与其交互。

注意:这是访问数组内容的一种相当低效的方式,它需要生成许多临时对象。

Returns
Set<K> a set view of the keys contained in this map

putAll

void putAll (Map<? extends K, ? extends V> map)

地图中执行所有键/值对的 put(Object, Object)

Parameters
map Map: The map whose contents are to be retrieved.

removeAll

boolean removeAll (Collection<?> collection)

删除给定集合中存在的数组映射中的所有键。

Parameters
collection Collection: The collection whose contents are to be used to remove keys.
Returns
boolean Returns true if any keys were removed from the array map, else false.

retainAll

boolean retainAll (Collection<?> collection)

删除数组映射中 存在于给定集合中的所有键。

Parameters
collection Collection: The collection whose contents are to be used to determine which keys to keep.
Returns
boolean Returns true if any keys were removed from the array map, else false.

values

Collection<V> values ()

返回一个 Collection迭代并与数组映射中的所有值进行交互。

注意:这是访问数组内容的一种相当低效的方式,它需要生成许多临时对象。

Returns
Collection<V> a collection view of the values contained in this map

Hooray!