public class SimpleArrayMap
extends Object
java.lang.Object | |
↳ | android.support.v4.util.SimpleArrayMap<K, V> |
Known Direct Subclasses
ArrayMap<K, V>
|
Known Indirect Subclasses
ObservableArrayMap<K, V>
|
ArrayMap
基本实现不包含任何标准Java容器API互操作性。 这些特性通常是与容器交互的重量较轻的方式,所以很沮丧,但它们可以使它更容易用作HashMap的替代替代品。 如果你不需要它们,这个类可以是可取的,因为它没有引入任何这些API的实现,允许ProGuard剥离代码。
Public constructors |
|
---|---|
SimpleArrayMap() 创建一个新的空ArrayMap。 |
|
SimpleArrayMap(int capacity) 用给定的初始容量创建一个新的ArrayMap。 |
|
SimpleArrayMap(SimpleArrayMap map) 使用给定ArrayMap的映射创建一个新的ArrayMap。 |
Public methods |
|
---|---|
void |
clear() 使数组映射为空。 |
boolean |
containsKey(Object key) 检查数组中是否存在密钥。 |
boolean |
containsValue(Object value) 检查数组中是否存在值。 |
void |
ensureCapacity(int minimumCapacity) 确保数组映射至少可以容纳 minimumCapacity项目。 |
boolean |
equals(Object object) 指示其他某个对象是否“等于”这一个。 如果对象不是Map或SimpleArrayMap,或者地图的大小不同,则此实现返回false。 |
V |
get(Object key) 从数组中检索一个值。 |
int |
hashCode() 返回对象的哈希码值。 |
int |
indexOfKey(Object key) 返回集合中某个键的索引。 |
boolean |
isEmpty() 如果数组映射不包含项目,则返回true。 |
K |
keyAt(int index) 返回数组中给定索引处的键。 |
V |
put(K key, V value) 给数组映射添加一个新值。 |
void |
putAll(SimpleArrayMap<? extends K, ? extends V> array) 执行 |
V |
remove(Object key) 从阵列图中删除现有的键。 |
V |
removeAt(int index) 删除给定索引处的键/值映射。 |
V |
setValueAt(int index, V value) 将值设置为数组中的给定索引。 |
int |
size() 返回此数组映射中的项目数。 |
String |
toString() 返回对象的字符串表示形式。 该实现通过遍历其映射来组成一个字符串。 |
V |
valueAt(int index) 返回数组中给定索引的值。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
SimpleArrayMap ()
创建一个新的空ArrayMap。 数组映射的默认容量为0,并且一旦添加项目就会增加。
SimpleArrayMap (int capacity)
用给定的初始容量创建一个新的ArrayMap。
Parameters | |
---|---|
capacity |
int
|
SimpleArrayMap (SimpleArrayMap map)
使用给定ArrayMap的映射创建一个新的ArrayMap。
Parameters | |
---|---|
map |
SimpleArrayMap
|
void clear ()
使数组映射为空。 所有存储都被释放。
boolean containsKey (Object key)
检查数组中是否存在密钥。
Parameters | |
---|---|
key |
Object : The key to search for. |
Returns | |
---|---|
boolean |
Returns true if the key exists, else false. |
boolean containsValue (Object value)
检查数组中是否存在值。 这需要对整个阵列进行线性搜索。
Parameters | |
---|---|
value |
Object : The value to search for. |
Returns | |
---|---|
boolean |
Returns true if the value exists, else false. |
void ensureCapacity (int minimumCapacity)
确保数组映射至少可以容纳 minimumCapacity项目。
Parameters | |
---|---|
minimumCapacity |
int
|
boolean equals (Object object)
指示其他某个对象是否“等于”这一个。
equals
方法在非空对象引用上实现等价关系:
x
, x.equals(x)
should return true
. x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
. x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
. x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return false
, provided no information used in equals
comparisons on the objects is modified. x
, x.equals(null)
should return false
. equals
类的方法Object
实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值x
和y
,当且仅当x
和y
引用同一对象( x == y
的值为true
)时,此方法返回true
。
请注意,无论何时重写此方法,通常都必须重写 hashCode
方法,以维护 hashCode
方法的一般合同,该方法声明等同对象必须具有相同的哈希码。
如果对象不是Map或SimpleArrayMap,或者地图的大小不同,则此实现返回false。 否则,对于此映射中的每个键,都将比较两个映射的值。 如果任何键的值不相等,则该方法返回false,否则返回true。
Parameters | |
---|---|
object |
Object : the reference object with which to compare. |
Returns | |
---|---|
boolean |
true if this object is the same as the obj argument; false otherwise. |
V get (Object key)
从数组中检索一个值。
Parameters | |
---|---|
key |
Object : The key of the value to retrieve. |
Returns | |
---|---|
V |
Returns the value associated with the given key, or null if there is no such key. |
int hashCode ()
返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap
提供的HashMap
。
hashCode
的总合同是:
hashCode
method must consistently return the same integer, provided no information used in equals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result. equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables. 尽可能合理实用,类Object
定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)
Returns | |
---|---|
int |
a hash code value for this object. |
int indexOfKey (Object key)
返回集合中某个键的索引。
Parameters | |
---|---|
key |
Object : The key to search for. |
Returns | |
---|---|
int |
Returns the index of the key if it exists, else a negative integer. |
boolean isEmpty ()
如果数组映射不包含项目,则返回true。
Returns | |
---|---|
boolean |
K keyAt (int index)
返回数组中给定索引处的键。
Parameters | |
---|---|
index |
int : The desired index, must be between 0 and size() -1. |
Returns | |
---|---|
K |
Returns the key stored at the given index. |
V put (K key, V value)
给数组映射添加一个新值。
Parameters | |
---|---|
key |
K : The key under which to store the value. Must not be null. If this key already exists in the array, its value will be replaced. |
value |
V : The value to store for the given key. |
Returns | |
---|---|
V |
Returns the old value that was stored for the given key, or null if there was no such key. |
void putAll (SimpleArrayMap<? extends K, ? extends V> array)
执行 put(Object, Object)
在 阵列中的所有键/值对
Parameters | |
---|---|
array |
SimpleArrayMap : The array whose contents are to be retrieved. |
V remove (Object key)
从阵列图中删除现有的键。
Parameters | |
---|---|
key |
Object : The key of the mapping to remove. |
Returns | |
---|---|
V |
Returns the value that was stored under the key, or null if there was no such key. |
V removeAt (int index)
删除给定索引处的键/值映射。
Parameters | |
---|---|
index |
int : The desired index, must be between 0 and size() -1. |
Returns | |
---|---|
V |
Returns the value that was stored at this index. |
V setValueAt (int index, V value)
将值设置为数组中的给定索引。
Parameters | |
---|---|
index |
int : The desired index, must be between 0 and size() -1. |
value |
V : The new value to store at this index. |
Returns | |
---|---|
V |
Returns the previous value at the given index. |
int size ()
返回此数组映射中的项目数。
Returns | |
---|---|
int |
String toString ()
返回对象的字符串表示形式。 通常, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
该实现通过遍历其映射来组成一个字符串。 如果此映射包含自身作为键或值,则字符串“(此映射)”将出现在它的位置。
Returns | |
---|---|
String |
a string representation of the object. |
V valueAt (int index)
返回数组中给定索引的值。
Parameters | |
---|---|
index |
int : The desired index, must be between 0 and size() -1. |
Returns | |
---|---|
V |
Returns the value stored at the given index. |