阅读(4736) (7)

鸿蒙OS IntArray

2022-08-16 15:13:56 更新

IntArray

java.lang.Object

|---ohos.utils.IntArray

public class IntArray
extends Object

int 数组的集合类。 该类封装了 IntArray 上常用的操作,供您调用。 它还支持有关通用堆栈的基本操作,因此您可以将它们用作 int 堆栈。

当 int 原始数据类型存储到泛型集合类中时,它会自动转换为相应的数据类型。 此过程称为自动装箱,但是会在一定程度上降低性能。 为了解决这个问题,这个类用于将 int 原始数据存储为一个集合类,而不需要自动装箱过程。 该类支持阵列的自动缩放,因此您无需担心阵列容量。

使用 IntArray 类时要注意以下几点: 该类是非线程安全的,不建议用于服务并发。

字段摘要

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

构造函数摘要

构造函数 描述
IntArray() 默认构造函数用于创建初始容量为 32 的 IntArray 实例。
IntArray(int capacity) 用于创建具有自定义初始容量的 IntArray 实例的构造函数。
IntArray(int... otherArray) 基于大小可变的 int 数组创建一个 IntArray 对象。
IntArray(int[] otherArray, int begin, int count) 基于具有指定范围的现有 int 数组创建一个 IntArray 对象。
IntArray(int capacity, int value) 用于创建具有自定义容量和初始值的 IntArray 实例的构造函数。
IntArray(ListInteger intList) 根据现有的 Integer 列表创建一个 IntArray 对象。
IntArray(IntArray another) 通过从现有 IntArray 对象复制参数来创建 IntArray 对象。

方法总结

修饰符和类型 方法 描述
void append(IntArray other) 将指定的 IntArray 对象的值依次附加到当前的 IntArray 对象。
int back() 获取当前 IntArray 对象的数组中的最后一个值。
int binarySearchInInsArray(int value) 使用二分搜索算法搜索指定的值。
void clear() 清除存储在当前 IntArray 对象中的所有值。
Object clone() 创建当前 IntArray 对象的克隆。
void deleteFirstValue(int value) 删除与指定值匹配的第一个值。
void deleteIndex(int index) 删除指定索引处的值。
void deleteRangeIn(int low, int high) 删除指定范围内的值,包括开始索引和结束索引。
boolean empty() 检查当前 IntArray 对象是否为空。
boolean equals(int[] otherArrays) 将当前 IntArray 对象中的值与 int 数组进行比较并返回比较结果。
boolean equals(Object obj) 将当前 IntArray 对象与指定对象进行比较,并返回比较结果。
int getAt(int index) 获取指定索引处的值。
int getCapacity() 获取当前 IntArray 对象的容量。
int hashCode() 获取当前 IntArray 对象的哈希码。
int indexOf(int value) 获取当前 IntArray 对象中第一个匹配值的索引。
void insert(int index, int value) 将值插入指定索引。
int lastIndexOf(int value) 获取当前 IntArray 对象中最后一个匹配值的索引。
int popBack() 获取并删除当前 IntArray 对象的数组中的最后一个值。
void pushBack(int value) 将指定值添加到当前 IntArray 对象中的数组末尾。
void setAt(int index, int value) 更新指定索引处的值。
int size() 获取当前 IntArray 中存储的值的总数。
void sortIns() 对当前 Int Array 对象中的数组进行升序排序。
void swap(IntArray other) 在指定的 IntArray 对象和当前的 IntArray 对象之间交换元素,包括数组、大小和容量。
Integer[] toIntegerArray() 复制当前 IntArray 对象中的值并将它们转换为 Integer 数组。
String toString() 获取当前 IntArray 对象的字符串表示形式。
String toString(String sep) 获取具有指定分隔符的当前 IntArray 对象的字符串表示形式。
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait

字段详细信息

ERROR_INDEX

public static final int ERROR_INDEX

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

构造函数详细信息

IntArray

public IntArray()

默认构造函数用于创建初始容量为 32 的 IntArray 实例。

IntArray

public IntArray(int capacity)

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

参数:

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

IntArray

public IntArray(int capacity, int value)

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

参数:

参数名称 参数描述
capacity 指示要为数组自定义的初始大小。
value 表示数组的初始值。

IntArray

public IntArray(IntArray another)

通过从现有 IntArray 对象复制参数来创建 IntArray 对象。

参数:

参数名称 参数描述
another 指示现有的 IntArray 对象。

Throws:

Throw名称 Throw描述
NullPointerException 如果另一个为空,则抛出此异常。

IntArray

public IntArray(int... otherArray)

基于大小可变的 int 数组创建一个 IntArray 对象。

参数:

参数名称 参数描述
otherArray 指示大小可变的 int 数组。

IntArray

public IntArray(int[] otherArray, int begin, int count)

基于具有指定范围的现有 int 数组创建一个 IntArray 对象。

参数:

参数名称 参数描述
otherArray 指示现有的 int 数组。
begin 指示现有数组的起始索引。
count 指示存储在现有数组中的值的数量。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果指定的 otherArray 为 null,则引发此异常。
ArrayIndexOutOfBoundsException 如果指定的开始或计数超出范围,则引发此异常。

IntArray

public IntArray(ListInteger intList)

根据现有的 Integer 列表创建一个 IntArray 对象。

参数:

参数名称 参数描述
intList 指示现有的 Integer 列表。

方法详情

hashCode

public int hashCode()

获取当前 IntArray 对象的哈希码。

覆盖:

类 Object 中的 hashCode

返回:

返回当前 IntArray 对象的哈希码。

equals

public boolean equals(int[] otherArrays)

将当前 IntArray 对象中的值与 int 数组进行比较并返回比较结果。

参数:

参数名称 参数描述
otherArrays 指示要比较的 int 数组。

返回:

如果两者在序列中具有相同的值,则返回 true。

equals

public boolean equals(Object obj)

将当前 IntArray 对象与指定对象进行比较,并返回比较结果。

覆盖:

类 Object 中的等于

参数:

参数名称 参数描述
obj 指示要比较的指定对象。

返回:

如果两者在序列中具有相同的值,则返回 true。

clone

public Object clone()

创建当前 IntArray 对象的克隆。

覆盖:

在类 Object 中克隆

返回:

返回当前 IntArray 对象的克隆。

toString

public String toString()

获取当前 IntArray 对象的字符串表示形式。

转换为字符串时,值用方括号 ([]) 括起来,并用逗号 (,) 分隔,例如 [1, 2, 3, 4, 5]。

覆盖:

类 Object 中的 toString

返回:

返回当前 IntArray 对象的字符串表示形式。

toString

public String toString(String sep)

获取具有指定分隔符的当前 IntArray 对象的字符串表示形式。

转换为字符串时,这些值括在方括号 ([]) 中并由分隔符分隔。 例如,如果指定的分隔符是分号 (;),则字符串表示的格式为 [1;2;3;4;5]。

参数:

参数名称 参数描述
sep 指示字符串表示形式中的值的分隔符。

返回:

返回当前 IntArray 对象的字符串表示形式,其值使用指定的分隔符分隔。

getCapacity

public int getCapacity()

获取当前 IntArray 对象的容量。

该方法的返回值是对象的容量,而不是对象中的值所占用的实际大小。

返回:

返回当前 IntArray 对象的容量。

insert

public void insert(int index, int value)

将值插入指定索引。

如果指定的索引有值,则该索引及其后面的值向后移动一个索引。

参数:

参数名称 参数描述
index 索引
value

getAt

public int getAt(int index)

获取指定索引处的值。

参数:

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

返回:

返回指定索引处的值。

Throws:

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

setAt

public void setAt(int index, int value)

更新指定索引处的值。

与 insert(int,int) 方法不同的是,如果指定的索引存在,则此方法将现有值替换为新值。

参数:

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

Throws:

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

indexOf

public int indexOf(int value)

获取当前 IntArray 对象中第一个匹配值的索引。

参数:

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

返回:

返回第一个匹配值的索引; 如果值不存在,则返回 ERROR_INDEX。

lastIndexOf

public int lastIndexOf(int value)

获取当前 IntArray 对象中最后一个匹配值的索引。

参数:

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

返回:

返回最后一个匹配值的索引; 如果值不存在,则返回 ERROR_INDEX。

clear

public void clear()

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

size

public int size()

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

返回:

返回存储在当前 IntArray 中的值的总数。

empty

public boolean empty()

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

返回:

如果当前 IntArray 对象为空,则返回 true。

pushBack

public void pushBack(int value)

将指定值添加到当前 IntArray 对象中的数组末尾。

参数:

参数名称 参数描述
value 表示要添加的值。

popBack

public int popBack()

获取并删除当前 IntArray 对象的数组中的最后一个值。 该值在返回时从数组中删除。

返回:

返回当前 IntArray 对象的数组中的最后一个值。

back

public int back()

获取当前 IntArray 对象的数组中的最后一个值。 该值在返回时不会被删除。

返回:

返回当前 IntArray 对象的数组中的最后一个值。

swap

public void swap(IntArray other)

在指定的 IntArray 对象和当前的 IntArray 对象之间交换元素,包括数组、大小和容量。

参数:

参数名称 参数描述
other 指示要交换的 IntArray 对象。

Throws:

Throw名称 Throw描述
NullPointerException 如果另一个为空,则抛出此异常。

append

public void append(IntArray other)

将指定的 IntArray 对象的值依次附加到当前的 IntArray 对象。

参数:

参数名称 参数描述
other 指示 IntArray 对象。

Throws:

Throw名称 Throw描述
NullPointerException 如果另一个为空,则抛出此异常。

toIntegerArray

public Integer[] toIntegerArray()

复制当前 IntArray 对象中的值并将它们转换为 Integer 数组。

返回:

返回一个整数数组,其中包含从当前 IntArray 对象复制的值。

deleteFirstValue

public void deleteFirstValue(int value)

删除与指定值匹配的第一个值。

参数:

参数名称 参数描述
value 指示要删除的值。

deleteIndex

public void deleteIndex(int index)

删除指定索引处的值。

参数:

参数名称 参数描述
index 指示要删除的值的索引。

Throws:

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

deleteRangeIn

public void deleteRangeIn(int low, int high)

删除指定范围内的值,包括开始索引和结束索引。

参数:

参数名称 参数描述
low 指示要删除的值的起始索引。
high 指示要删除的值的结束索引。

Throws:

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

sortIns

public void sortIns()

对当前 Int Array 对象中的数组进行升序排序。

binarySearchInInsArray

public int binarySearchInInsArray(int value)

使用二分搜索算法搜索指定的值。 如果没有找到结果,则返回负值。 但是,您可以反转此负值以获得应将值插入当前 IntArray 对象的索引。

请注意,必须对有序数组执行二进制搜索。 因此,在调用此方法之前,必须使用 sortIns() 方法对对象中的值进行排序。 否则返回的结果是不确定的。

参数:

参数名称 参数描述
value 指示要搜索的值。

返回:

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