public class SparseArrayCompat
extends Object
implements Cloneable
java.lang.Object | |
↳ | android.support.v4.util.SparseArrayCompat<E> |
目前平台的副本(目前 KITKAT
版本 SparseArray
;提供了removeAt()方法和其他东西。
Public constructors |
|
---|---|
SparseArrayCompat() 创建一个不包含映射的新SparseArray。 |
|
SparseArrayCompat(int initialCapacity) 创建一个不包含映射的新SparseArray,它不需要任何额外的内存分配来存储指定数量的映射。 |
Public methods |
|
---|---|
void |
append(int key, E value) 将键/值对放入数组中,针对键大于数组中所有现有键的情况进行优化。 |
void |
clear() 从此SparseArray中删除所有键值映射。 |
SparseArrayCompat<E> |
clone() 创建并返回此对象的副本。 |
void |
delete(int key) 如果有指定的键,则删除指定键的映射。 |
E |
get(int key) 获取从指定键映射的对象,或者如果没有这样的映射,则获取 |
E |
get(int key, E valueIfKeyNotFound) 获取从指定键映射的Object或指定的Object,如果没有这样的映射。 |
int |
indexOfKey(int key) 返回 |
int |
indexOfValue(E value) 返回 |
int |
keyAt(int index) 给定一个范围为 |
void |
put(int key, E value) 添加从指定键到指定值的映射,如果有指定键,则从指定键替换以前的映射。 |
void |
remove(int key) 别名为 |
void |
removeAt(int index) 删除指定索引处的映射。 |
void |
removeAtRange(int index, int size) 作为批次删除一系列映射。 |
void |
setValueAt(int index, E value) 给定一个范围为 |
int |
size() 返回此SparseArray当前存储的键值映射的数量。 |
String |
toString() 返回对象的字符串表示形式。 该实现通过遍历其映射来组成一个字符串。 |
E |
valueAt(int index) 给定范围 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
SparseArrayCompat ()
创建一个不包含映射的新SparseArray。
SparseArrayCompat (int initialCapacity)
创建一个不包含映射的新SparseArray,它不需要任何额外的内存分配来存储指定数量的映射。 如果您提供的初始容量为0,则稀疏数组将使用轻量级表示进行初始化,而不需要任何额外的数组分配。
Parameters | |
---|---|
initialCapacity |
int
|
void append (int key, E value)
将键/值对放入数组中,针对键大于数组中所有现有键的情况进行优化。
Parameters | |
---|---|
key |
int
|
value |
E
|
void clear ()
从此SparseArray中删除所有键值映射。
SparseArrayCompat<E> clone ()
创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x
,表达式:
will be true, and that the expression:x.clone() != x
will bex.clone().getClass() == x.getClass()
true
, but these are not absolute requirements. While it is typically the case that:
will bex.clone().equals(x)
true
, this is not an absolute requirement.
按照惯例,返回的对象应该通过调用super.clone
获得。 如果一个类和它的所有超类( Object
除外)都遵守这个约定,那么情况就是这样的情况x.clone().getClass() == x.getClass()
。
按照惯例,这个方法返回的对象应该独立于这个对象(被克隆)。 为了实现这种独立性,可能有必要在返回之前修改super.clone
返回的对象的一个或多个字段。 通常,这意味着复制包含被克隆对象的内部“深层结构”的任何可变对象,并将这些对象的引用替换为对这些副本的引用。 如果一个类只包含原始字段或对不可变对象的引用,那么通常情况下不需要修改super.clone
返回的对象中的任何字段。
类Object
的方法clone
执行特定的克隆操作。 首先,如果该对象的类没有实现接口Cloneable
,则引发CloneNotSupportedException
。 请注意,所有阵列被认为是实现该接口Cloneable
并且所述的返回类型clone
数组类型的方法T[]
是T[]
其中T是任何引用或原始类型。 否则,此方法创建该对象的类的新实例,并使用该对象的相应字段的内容来初始化其所有字段,就像通过赋值一样; 这些字段的内容本身并不克隆。 因此,此方法执行此对象的“浅拷贝”,而不是“深拷贝”操作。
类 Object
本身并不实现接口 Cloneable
,所以在类 Object
的对象上调用 clone
方法将导致在运行时抛出异常。
Returns | |
---|---|
SparseArrayCompat<E> |
a clone of this instance. |
void delete (int key)
如果有指定的键,则删除指定键的映射。
Parameters | |
---|---|
key |
int
|
E get (int key)
获取从指定键映射的对象,或者如果没有这样的映射,则获取 null
。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
E |
E get (int key, E valueIfKeyNotFound)
获取从指定键映射的Object或指定的Object,如果没有这样的映射。
Parameters | |
---|---|
key |
int
|
valueIfKeyNotFound |
E
|
Returns | |
---|---|
E |
int indexOfKey (int key)
返回 keyAt(int)
将返回指定键的索引;如果指定的键未映射,则返回负数。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
int |
int indexOfValue (E value)
返回 valueAt(int)
将返回指定键的索引;如果没有键映射到指定值,则返回负数。
请注意,这是一种线性搜索,与按键查找不同,并且多个键可以映射到相同的值,而这只会查找其中的一个。
还请注意,与大多数集合的 indexOf
方法不同,此方法使用 ==
而不是 equals
比较值。
Parameters | |
---|---|
value |
E
|
Returns | |
---|---|
int |
int keyAt (int index)
给定的索引的范围内 0...size()-1
,从返回键 index
个密钥值的映射,这SparseArray商店。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
int |
void put (int key, E value)
添加从指定键到指定值的映射,如果有指定键,则从指定键替换以前的映射。
Parameters | |
---|---|
key |
int
|
value |
E
|
void removeAt (int index)
删除指定索引处的映射。
Parameters | |
---|---|
index |
int
|
void removeAtRange (int index, int size)
作为批次删除一系列映射。
Parameters | |
---|---|
index |
int : Index to begin at |
size |
int : Number of mappings to remove |
void setValueAt (int index, E value)
给定一个范围为 0...size()-1
的索引,为SparseArray存储的第 index
个键值映射设置一个新值。
Parameters | |
---|---|
index |
int
|
value |
E
|
int size ()
返回此SparseArray当前存储的键值映射的数量。
Returns | |
---|---|
int |
String toString ()
返回对象的字符串表示形式。 一般来说, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
该实现通过遍历其映射来组成一个字符串。 如果该映射包含它自己的值,则字符串“(此映射)”将出现在它的位置。
Returns | |
---|---|
String |
a string representation of the object. |
E valueAt (int index)
给定 0...size()-1
范围内的索引,返回此SparseArray存储的 index
键值映射中的值。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
E |