鸿蒙OS IntArray
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 | 指示要搜索的值。 |
返回:
返回值的索引; 如果没有找到结果,则返回负值。