SparseIntArray的使用方法,代码实例
时间: 2024-03-21 14:38:59 浏览: 15
SparseIntArray 是 Android SDK 中提供的一个用于存储 int 类型数据的集合类,它在存储大量 int 类型数据时比 HashMap 更加高效。以下是 SparseIntArray 的使用方法和代码实例:
`put(int key, int value)`:向集合中存入一个键值对,如果 key 已经存在,则替换其对应的 value 值。
`get(int key)`:获取指定 key 对应的 value 值,如果 key 不存在,则返回默认值 0。
`get(int key, int defaultValue)`:获取指定 key 对应的 value 值,如果 key 不存在,则返回指定的默认值。
`indexOfKey(int key)`:获取指定 key 在集合中的索引位置,如果 key 不存在,则返回 -1。
`indexOfValue(int value)`:获取指定 value 在集合中的索引位置,如果 value 不存在,则返回 -1。
`keyAt(int index)`:获取指定索引位置的 key 值。
`valueAt(int index)`:获取指定索引位置的 value 值。
`size()`:获取集合中元素的个数。
`delete(int key)`:删除指定 key 对应的键值对。
`clear()`:清空集合中的所有元素。
下面是一个使用 SparseIntArray 存储键值对的示例代码:
```java
SparseIntArray sparseIntArray = new SparseIntArray();
sparseIntArray.put(1, 10);
sparseIntArray.put(2, 20);
sparseIntArray.put(3, 30);
int value1 = sparseIntArray.get(1); // 获取 key 为 1 的 value
int value2 = sparseIntArray.get(2, -1); // 获取 key 为 2 的 value,如果不存在则返回 -1
int index = sparseIntArray.indexOfKey(3); // 获取 key 为 3 在集合中的索引位置
int key = sparseIntArray.keyAt(index); // 获取索引位置为 index 的 key 值
int size = sparseIntArray.size(); // 获取集合中元素的个数
sparseIntArray.delete(2); // 删除 key 为 2 的键值对
sparseIntArray.clear(); // 清空集合中的所有元素
```
需要注意的是,SparseIntArray 只能存储 int 类型的键值对,如果需要存储其他类型的数据,则需要使用其他类型的集合类,比如 SparseArray。