SparseIntArray

public class SparseIntArray
extends Object

java.lang.Object
   ↳ com.android.utils.SparseIntArray


SparseIntArray 将整数映射到整数。与常规整数数组不同,索引中可能存在缺口。与使用 HashMap 将整数映射到整数相比,它旨在提高效率。

摘要

公共构造函数

SparseIntArray()

创建一个不包含任何映射的新 SparseIntArray。

SparseIntArray(int initialCapacity)

创建一个新的 SparseIntArray,其中不包含任何映射,并且不需要任何额外的内存分配来存储指定数量的映射。

公共方法

void append(int key, int value)

将键值对放入数组中,针对键大于数组中所有现有键的情况进行了优化。

void clear()

移除此 SparseIntArray 中的所有键值映射。

void delete(int key)

移除指定键的映射(如果有)。

int get(int key)

获取指定键映射的整数,如果没有此类映射,则返回 0

int get(int key, int valueIfKeyNotFound)

获取从指定键映射的整数,如果没有此类映射,则获取指定的值。

int indexOfKey(int key)

返回 keyAt(int) 将返回指定键的索引,如果未映射指定键,则返回负数。

int indexOfValue(int value)

返回一个索引,该索引对应的 valueAt(int) 会返回指定键;如果没有键映射到指定值,则返回一个负数。

int keyAt(int index)

给定范围 0...size()-1 内的索引,返回此 SparseIntArray 存储的第 index 个键值映射中的键。

void put(int key, int value)

添加从指定键到指定值的映射,如果之前存在从指定键到其他值的映射,则替换该映射。

void removeAt(int index)

移除指定索引处的映射。

int size()

返回此 SparseIntArray 当前存储的键值对映射的数量。

int valueAt(int index)

给定范围为 0...size()-1 的索引,返回此 SparseIntArray 存储的第 index 个键值映射中的值。

公共构造函数

SparseIntArray

public SparseIntArray ()

创建一个不包含任何映射的新 SparseIntArray。

SparseIntArray

public SparseIntArray (int initialCapacity)

创建一个新的 SparseIntArray,其中不包含任何映射,并且不需要任何额外的内存分配来存储指定数量的映射。

参数
initialCapacity int

公共方法

附加

public void append (int key, 
                int value)

将键值对放入数组中,针对键大于数组中所有现有键的情况进行了优化。

参数
key int

value int

清除

public void clear ()

移除此 SparseIntArray 中的所有键值映射。

删除

public void delete (int key)

移除指定键的映射(如果有)。

参数
key int

get

public int get (int key)

获取指定键映射的整数,如果没有此类映射,则返回 0

参数
key int

返回
int

get

public int get (int key, 
                int valueIfKeyNotFound)

获取从指定键映射的整数,如果没有此类映射,则获取指定的值。

参数
key int

valueIfKeyNotFound int

返回
int

indexOfKey

public int indexOfKey (int key)

返回 keyAt(int) 将返回指定键的索引,如果未映射指定键,则返回负数。

参数
key int

返回
int

indexOfValue

public int indexOfValue (int value)

返回一个索引,该索引对应的 valueAt(int) 会返回指定键;如果没有键映射到指定值,则返回一个负数。请注意,这是一种线性搜索,与按键进行的查找不同,并且多个键可以映射到同一个值,但此方法只会找到其中一个键。

参数
value int

返回
int

keyAt

public int keyAt (int index)

给定范围 0...size()-1 内的索引,返回此 SparseIntArray 存储的第 index 个键值映射中的键。

参数
index int

返回
int

放置

public void put (int key, 
                int value)

添加从指定键到指定值的映射,如果之前存在从指定键到其他值的映射,则替换该映射。

参数
key int

value int

removeAt

public void removeAt (int index)

移除指定索引处的映射。

参数
index int

size

public int size ()

返回此 SparseIntArray 当前存储的键值对映射的数量。

返回
int

valueAt

public int valueAt (int index)

给定一个范围为 0...size()-1 的索引,返回此 SparseIntArray 存储的第 index 个键值映射中的值。

参数
index int

返回
int