阅读(2691) (6)

鸿蒙OS PlainIntArray

2022-08-16 15:15:52 更新

PlainIntArray

java.lang.Object

|---ohos.utils.PlainIntArray

public class PlainIntArray
extends Object
implements Cloneable

一个基本的集合类,用于存储使用原始数据类型 int 作为键和值的数据结构。

此类中的值直接存储在数组中,无需包装到其他类型或自动装箱。 这简化了数据存储结构并节省了内存。 该类中的所有key在存储时都是按升序排序的,使用二分查找算法高效查找指定key。 在这样的数据存储结构中,键和值可以基于索引进行迭代。 这个类实现了 Cloneable 接口。

使用 PlainIntArray 类时要注意以下几点:

  • 这个类是非线程安全的。
  • 值的存储顺序与插入时不同。

字段摘要

修饰符和类型 字段 描述
static int INVALID_INDEX 指示索引相关操作使用的无效索引。

构造函数摘要

构造函数 描述
PlainIntArray() 用于创建 PlainIntArray 实例的默认构造函数。
PlainIntArray(int capacity) 用于创建具有自定义初始容量的 PlainIntArray 实例的构造函数。

方法总结

修饰符和类型 方法 描述
void append(int key, int value) 将键值对附加到 PlainIntArray。
void clear() 清除存储在当前 PlainIntArray 对象中的所有键值对。
PlainIntArray clone() 创建当前 PlainIntArray 对象的克隆。
boolean contains(int key) 检查当前的 PlainIntArray 对象是否包含指定的键。
OptionalInteger get(int key) 查询与指定键关联的值。
int get(int key, int defaultValue) 使用传递的 defaultValue 参数查询与指定键关联的值。
int indexOfKey(int key) 查询指定键的索引。
int indexOfValue(int value) 查询指定值的索引。
boolean isEmpty() 检查当前 PlainIntArray 对象是否为空。
int keyAt(int index) 查询指定索引处的键。
int locate(int key) 搜索指定键的索引。
void put(int key, int value) 向 PlainIntArray 添加一个键值对。
OptionalInteger remove(int key) 根据指定键删除键值对。
OptionalInteger removeAt(int index) 删除指定索引处的键值对。
void setValueAt(int index, int value) 更新指定索引处的值。
int size() 获取当前 PlainIntArray 中存储的值的总数。
String toString() 获取 PlainIntArray 对象的字符串表示形式。
int valueAt(int index) 查询指定索引处的值。
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

字段详细信息

INVALID_INDEX

public static final int INVALID_INDEX

指示索引相关操作使用的无效索引。

构造函数详细信息

PlainIntArray

public PlainIntArray()

用于创建 PlainIntArray 实例的默认构造函数。

PlainIntArray

public PlainIntArray(int capacity)

用于创建具有自定义初始容量的 PlainIntArray 实例的构造函数。

此构造函数允许您自定义 PlainIntArray 对象的初始容量。

参数:

参数名称 参数描述
capacity 指示要为对象自定义的初始容量。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果指定的容量小于或等于 0,则引发此异常。

方法详情

locate

public int locate(int key)

搜索指定键的索引。

二分搜索算法用于搜索。 如果没有找到结果,则返回负值。 但是,您可以将此负值取反以获取该键应存储在数组中的索引。

参数:

参数名称 参数描述
key 表示要搜索的键。

返回:

返回键的索引; 如果没有找到结果,则返回负值。

append

public void append(int key, int value)

将键值对附加到 PlainIntArray。

如果要添加的键大于数组中的任何现有键,则此方法比 put(int,int) 方法更有效。 如果指定的键不是数组中最大的键,则自动调用 put(int,int) 方法添加键值对。

参数:

参数名称 参数描述
key 表示要添加的键。
value 指示与键关联的值。

clear

public void clear()

清除存储在当前 PlainIntArray 对象中的所有键值对。

clone

public PlainIntArray clone()

创建当前 PlainIntArray 对象的克隆。

覆盖:

在类 Object 中克隆

返回:

返回 PlainIntArray 对象的克隆。

remove

public OptionalInteger remove(int key)

根据指定键删除键值对。

参数:

参数名称 参数描述
key 表示要删除的密钥。

返回:

返回一个包含已移除值的 Optional 对象; 如果 key 不存在,则返回一个空的 Optional 对象。

removeAt

public OptionalInteger removeAt(int index)

删除指定索引处的键值对。

参数:

参数名称 参数描述
index 表示要移除的键值对的索引。

返回:

返回包含已删除值的 Optional 对象。

Throws:

Throw名称 Throw描述
IndexOutOfBoundsException 如果指定的索引超出有效范围,则引发此异常。

get

public OptionalInteger get(int key)

查询与指定键关联的值。

参数:

参数名称 参数描述
key 表示要查询的值的键。

返回:

返回一个包含获得值的 Optional 对象; 如果 key 不存在,则返回一个空的 Optional 对象。

get

public int get(int key, int defaultValue)

使用传递的 defaultValue 参数查询与指定键关联的值。

参数:

参数名称 参数描述
key 表示要查询的值的键。
defaultValue 表示默认值。

返回:

返回键的值; 如果键不存在,则返回 defaultValue。

indexOfKey

public int indexOfKey(int key)

查询指定键的索引。

参数:

参数名称 参数描述
key 表示要查询的键。

返回:

返回键的索引; 如果查询的键不存在,则返回 INVALID_INDEX。

indexOfValue

public int indexOfValue(int value)

查询指定值的索引。

参数:

参数名称 参数描述
value 表示要查询的值。

返回:

如果找到多个值,则返回第一个匹配值的索引; 如果查询的值不存在,则返回 INVALID_INDEX。

keyAt

public int keyAt(int index)

查询指定索引处的键。

参数:

参数名称 参数描述
index 表示要查询的索引。

返回:

返回指定索引的键。

Throws:

Throw名称 Throw描述
IndexOutOfBoundsException 如果指定的索引超出有效范围,则引发此异常。

valueAt

public int valueAt(int index)

查询指定索引处的值。

参数:

参数名称 参数描述
index 表示要查询的索引。

返回:

返回指定索引的值。

Throws:

Throw名称 Throw描述
IndexOutOfBoundsException 如果指定的索引超出有效范围,则引发此异常。

put

public void put(int key, int value)

向 PlainIntArray 添加一个键值对。

如果指定的键已经存在,它的值将被替换为值。

参数:

参数名称 参数描述
key 表示要添加的键。
value 指示与键关联的值。

setValueAt

public void setValueAt(int index, int value)

更新指定索引处的值。

参数:

参数名称 参数描述
index 指示要更新的值的索引。
value 表示新值。

Throws:

Throw名称 Throw描述
IndexOutOfBoundsException 如果指定的索引超出有效范围,则引发此异常。

size

public int size()

获取当前 PlainIntArray 中存储的值的总数。

返回:

返回存储值的总数。

isEmpty

public boolean isEmpty()

检查当前 PlainIntArray 对象是否为空。

返回:

如果不包含任何值,则返回 true; 否则返回 false。

contains

public boolean contains(int key)

检查当前的 PlainIntArray 对象是否包含指定的键。

参数:

参数名称 参数描述
key 表示要检查的键。

返回:

如果指定的键存在,则返回 true; 否则返回 false。

toString

public String toString()

获取 PlainIntArray 对象的字符串表示形式。

返回的字符串表示是 JSON 兼容的。

覆盖:

类 Object 中的 toString

返回:

返回 PlainIntArray 的基于 JSON 的字符串表示。