阅读(2664) (8)

鸿蒙OS PlainLongArray

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

PlainLongArray

java.lang.Object

|---ohos.utils.PlainLongArray

public class PlainLongArray
extends Object
implements Cloneable

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

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

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

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

字段摘要

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

构造函数摘要

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

方法总结

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

字段详细信息

INVALID_INDEX

public static final int INVALID_INDEX

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

构造函数详细信息

PlainLongArray

public PlainLongArray()

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

PlainLongArray

public PlainLongArray(int capacity)

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

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

参数:

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

Throws:

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

方法详情

locate

public int locate(int key)

搜索指定键的索引。

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

参数:

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

返回:

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

clear

public void clear()

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

append

public void append(int key, long value)

将键值对附加到 PlainLongArray。

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

参数:

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

clone

public PlainLongArray clone()

获取克隆的 PlainLongArray 对象。

覆盖:

在类 Object 中克隆

返回:

返回 PlainLongArray 对象的克隆。

remove

public OptionalLong remove(int key)

根据指定键删除键值对。

参数:

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

返回:

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

removeAt

public OptionalLong removeAt(int index)

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

参数:

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

返回:

返回一个封装了已移除值的 Optional 对象。

Throws:

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

get

public OptionalLong get(int key)

查询与指定键关联的值。

参数:

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

返回:

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

get

public long get(int key, long defaultValue)

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

参数:

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

返回:

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

indexOfKey

public int indexOfKey(int key)

查询指定键的索引。

参数:

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

返回:

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

indexOfValue

public int indexOfValue(long value)

查询指定值的索引。

参数:

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

返回:

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

keyAt

public int keyAt(int index)

查询指定索引处的键。

参数:

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

返回:

返回指定索引处的键。

Throws:

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

valueAt

public long valueAt(int index)

查询指定索引处的值。

参数:

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

返回:

返回指定索引处的值。

Throws:

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

put

public void put(int key, long value)

将键值对添加到 PlainLongArray。

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

参数:

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

size

public int size()

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

返回:

返回存储值的总数。

isEmpty

public boolean isEmpty()

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

返回:

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

contains

public boolean contains(int key)

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

参数:

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

返回:

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

toString

public String toString()

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

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

覆盖:

类 Object 中的 toString

返回:

返回 PlainLongArray 的基于 JSON 的字符串表示形式。