鴻蒙OS IntArray

2022-08-24 11:56 更新

IntArray

java.lang.Object

|---ohos.utils.IntArray

public class IntArray
extends Object

int 數(shù)組的集合類。 該類封裝了 IntArray 上常用的操作,供您調(diào)用。 它還支持有關(guān)通用堆棧的基本操作,因此您可以將它們用作 int 堆棧。

當(dāng) int 原始數(shù)據(jù)類型存儲到泛型集合類中時,它會自動轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)類型。 此過程稱為自動裝箱,但是會在一定程度上降低性能。 為了解決這個問題,這個類用于將 int 原始數(shù)據(jù)存儲為一個集合類,而不需要自動裝箱過程。 該類支持陣列的自動縮放,因此您無需擔(dān)心陣列容量。

使用 IntArray 類時要注意以下幾點: 該類是非線程安全的,不建議用于服務(wù)并發(fā)。

字段摘要

修飾符和類型 字段 描述
static int ERROR_INDEX 指示索引相關(guān)操作使用的無效索引。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
IntArray() 默認構(gòu)造函數(shù)用于創(chuàng)建初始容量為 32 的 IntArray 實例。
IntArray(int capacity) 用于創(chuàng)建具有自定義初始容量的 IntArray 實例的構(gòu)造函數(shù)。
IntArray(int... otherArray) 基于大小可變的 int 數(shù)組創(chuàng)建一個 IntArray 對象。
IntArray(int[] otherArray, int begin, int count) 基于具有指定范圍的現(xiàn)有 int 數(shù)組創(chuàng)建一個 IntArray 對象。
IntArray(int capacity, int value) 用于創(chuàng)建具有自定義容量和初始值的 IntArray 實例的構(gòu)造函數(shù)。
IntArray(ListInteger intList) 根據(jù)現(xiàn)有的 Integer 列表創(chuàng)建一個 IntArray 對象。
IntArray(IntArray another) 通過從現(xiàn)有 IntArray 對象復(fù)制參數(shù)來創(chuàng)建 IntArray 對象。

方法總結(jié)

修飾符和類型 方法 描述
void append(IntArray other) 將指定的 IntArray 對象的值依次附加到當(dāng)前的 IntArray 對象。
int back() 獲取當(dāng)前 IntArray 對象的數(shù)組中的最后一個值。
int binarySearchInInsArray(int value) 使用二分搜索算法搜索指定的值。
void clear() 清除存儲在當(dāng)前 IntArray 對象中的所有值。
Object clone() 創(chuàng)建當(dāng)前 IntArray 對象的克隆。
void deleteFirstValue(int value) 刪除與指定值匹配的第一個值。
void deleteIndex(int index) 刪除指定索引處的值。
void deleteRangeIn(int low, int high) 刪除指定范圍內(nèi)的值,包括開始索引和結(jié)束索引。
boolean empty() 檢查當(dāng)前 IntArray 對象是否為空。
boolean equals(int[] otherArrays) 將當(dāng)前 IntArray 對象中的值與 int 數(shù)組進行比較并返回比較結(jié)果。
boolean equals(Object obj) 將當(dāng)前 IntArray 對象與指定對象進行比較,并返回比較結(jié)果。
int getAt(int index) 獲取指定索引處的值。
int getCapacity() 獲取當(dāng)前 IntArray 對象的容量。
int hashCode() 獲取當(dāng)前 IntArray 對象的哈希碼。
int indexOf(int value) 獲取當(dāng)前 IntArray 對象中第一個匹配值的索引。
void insert(int index, int value) 將值插入指定索引。
int lastIndexOf(int value) 獲取當(dāng)前 IntArray 對象中最后一個匹配值的索引。
int popBack() 獲取并刪除當(dāng)前 IntArray 對象的數(shù)組中的最后一個值。
void pushBack(int value) 將指定值添加到當(dāng)前 IntArray 對象中的數(shù)組末尾。
void setAt(int index, int value) 更新指定索引處的值。
int size() 獲取當(dāng)前 IntArray 中存儲的值的總數(shù)。
void sortIns() 對當(dāng)前 Int Array 對象中的數(shù)組進行升序排序。
void swap(IntArray other) 在指定的 IntArray 對象和當(dāng)前的 IntArray 對象之間交換元素,包括數(shù)組、大小和容量。
Integer[] toIntegerArray() 復(fù)制當(dāng)前 IntArray 對象中的值并將它們轉(zhuǎn)換為 Integer 數(shù)組。
String toString() 獲取當(dāng)前 IntArray 對象的字符串表示形式。
String toString(String sep) 獲取具有指定分隔符的當(dāng)前 IntArray 對象的字符串表示形式。
從類 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait

字段詳細信息

ERROR_INDEX

public static final int ERROR_INDEX

指示索引相關(guān)操作使用的無效索引。

構(gòu)造函數(shù)詳細信息

IntArray

public IntArray()

默認構(gòu)造函數(shù)用于創(chuàng)建初始容量為 32 的 IntArray 實例。

IntArray

public IntArray(int capacity)

用于創(chuàng)建具有自定義初始容量的 IntArray 實例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
capacity 指示要為對象自定義的初始容量。

IntArray

public IntArray(int capacity, int value)

用于創(chuàng)建具有自定義容量和初始值的 IntArray 實例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
capacity 指示要為數(shù)組自定義的初始大小。
value 表示數(shù)組的初始值。

IntArray

public IntArray(IntArray another)

通過從現(xiàn)有 IntArray 對象復(fù)制參數(shù)來創(chuàng)建 IntArray 對象。

參數(shù):

參數(shù)名稱 參數(shù)描述
another 指示現(xiàn)有的 IntArray 對象。

Throws:

Throw名稱 Throw描述
NullPointerException 如果另一個為空,則拋出此異常。

IntArray

public IntArray(int... otherArray)

基于大小可變的 int 數(shù)組創(chuàng)建一個 IntArray 對象。

參數(shù):

參數(shù)名稱 參數(shù)描述
otherArray 指示大小可變的 int 數(shù)組。

IntArray

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

基于具有指定范圍的現(xiàn)有 int 數(shù)組創(chuàng)建一個 IntArray 對象。

參數(shù):

參數(shù)名稱 參數(shù)描述
otherArray 指示現(xiàn)有的 int 數(shù)組。
begin 指示現(xiàn)有數(shù)組的起始索引。
count 指示存儲在現(xiàn)有數(shù)組中的值的數(shù)量。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果指定的 otherArray 為 null,則引發(fā)此異常。
ArrayIndexOutOfBoundsException 如果指定的開始或計數(shù)超出范圍,則引發(fā)此異常。

IntArray

public IntArray(ListInteger intList)

根據(jù)現(xiàn)有的 Integer 列表創(chuàng)建一個 IntArray 對象。

參數(shù):

參數(shù)名稱 參數(shù)描述
intList 指示現(xiàn)有的 Integer 列表。

方法詳情

hashCode

public int hashCode()

獲取當(dāng)前 IntArray 對象的哈希碼。

覆蓋:

類 Object 中的 hashCode

返回:

返回當(dāng)前 IntArray 對象的哈希碼。

equals

public boolean equals(int[] otherArrays)

將當(dāng)前 IntArray 對象中的值與 int 數(shù)組進行比較并返回比較結(jié)果。

參數(shù):

參數(shù)名稱 參數(shù)描述
otherArrays 指示要比較的 int 數(shù)組。

返回:

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

equals

public boolean equals(Object obj)

將當(dāng)前 IntArray 對象與指定對象進行比較,并返回比較結(jié)果。

覆蓋:

類 Object 中的等于

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 指示要比較的指定對象。

返回:

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

clone

public Object clone()

創(chuàng)建當(dāng)前 IntArray 對象的克隆。

覆蓋:

在類 Object 中克隆

返回:

返回當(dāng)前 IntArray 對象的克隆。

toString

public String toString()

獲取當(dāng)前 IntArray 對象的字符串表示形式。

轉(zhuǎn)換為字符串時,值用方括號 ([]) 括起來,并用逗號 (,) 分隔,例如 [1, 2, 3, 4, 5]。

覆蓋:

類 Object 中的 toString

返回:

返回當(dāng)前 IntArray 對象的字符串表示形式。

toString

public String toString(String sep)

獲取具有指定分隔符的當(dāng)前 IntArray 對象的字符串表示形式。

轉(zhuǎn)換為字符串時,這些值括在方括號 ([]) 中并由分隔符分隔。 例如,如果指定的分隔符是分號 (;),則字符串表示的格式為 [1;2;3;4;5]。

參數(shù):

參數(shù)名稱 參數(shù)描述
sep 指示字符串表示形式中的值的分隔符。

返回:

返回當(dāng)前 IntArray 對象的字符串表示形式,其值使用指定的分隔符分隔。

getCapacity

public int getCapacity()

獲取當(dāng)前 IntArray 對象的容量。

該方法的返回值是對象的容量,而不是對象中的值所占用的實際大小。

返回:

返回當(dāng)前 IntArray 對象的容量。

insert

public void insert(int index, int value)

將值插入指定索引。

如果指定的索引有值,則該索引及其后面的值向后移動一個索引。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 索引
value

getAt

public int getAt(int index)

獲取指定索引處的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 表示要查詢的值的索引。

返回:

返回指定索引處的值。

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果指定的索引超出有效范圍,則引發(fā)此異常。

setAt

public void setAt(int index, int value)

更新指定索引處的值。

與 insert(int,int) 方法不同的是,如果指定的索引存在,則此方法將現(xiàn)有值替換為新值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示要更新的值的索引。
value 表示要更新的值。

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果指定的索引超出有效范圍,則引發(fā)此異常。

indexOf

public int indexOf(int value)

獲取當(dāng)前 IntArray 對象中第一個匹配值的索引。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 表示要查詢的值。

返回:

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

lastIndexOf

public int lastIndexOf(int value)

獲取當(dāng)前 IntArray 對象中最后一個匹配值的索引。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 表示要查詢的值。

返回:

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

clear

public void clear()

清除存儲在當(dāng)前 IntArray 對象中的所有值。

size

public int size()

獲取當(dāng)前 IntArray 中存儲的值的總數(shù)。

返回:

返回存儲在當(dāng)前 IntArray 中的值的總數(shù)。

empty

public boolean empty()

檢查當(dāng)前 IntArray 對象是否為空。

返回:

如果當(dāng)前 IntArray 對象為空,則返回 true。

pushBack

public void pushBack(int value)

將指定值添加到當(dāng)前 IntArray 對象中的數(shù)組末尾。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 表示要添加的值。

popBack

public int popBack()

獲取并刪除當(dāng)前 IntArray 對象的數(shù)組中的最后一個值。 該值在返回時從數(shù)組中刪除。

返回:

返回當(dāng)前 IntArray 對象的數(shù)組中的最后一個值。

back

public int back()

獲取當(dāng)前 IntArray 對象的數(shù)組中的最后一個值。 該值在返回時不會被刪除。

返回:

返回當(dāng)前 IntArray 對象的數(shù)組中的最后一個值。

swap

public void swap(IntArray other)

在指定的 IntArray 對象和當(dāng)前的 IntArray 對象之間交換元素,包括數(shù)組、大小和容量。

參數(shù):

參數(shù)名稱 參數(shù)描述
other 指示要交換的 IntArray 對象。

Throws:

Throw名稱 Throw描述
NullPointerException 如果另一個為空,則拋出此異常。

append

public void append(IntArray other)

將指定的 IntArray 對象的值依次附加到當(dāng)前的 IntArray 對象。

參數(shù):

參數(shù)名稱 參數(shù)描述
other 指示 IntArray 對象。

Throws:

Throw名稱 Throw描述
NullPointerException 如果另一個為空,則拋出此異常。

toIntegerArray

public Integer[] toIntegerArray()

復(fù)制當(dāng)前 IntArray 對象中的值并將它們轉(zhuǎn)換為 Integer 數(shù)組。

返回:

返回一個整數(shù)數(shù)組,其中包含從當(dāng)前 IntArray 對象復(fù)制的值。

deleteFirstValue

public void deleteFirstValue(int value)

刪除與指定值匹配的第一個值。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 指示要刪除的值。

deleteIndex

public void deleteIndex(int index)

刪除指定索引處的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示要刪除的值的索引。

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果指定的索引超出有效范圍,則引發(fā)此異常。

deleteRangeIn

public void deleteRangeIn(int low, int high)

刪除指定范圍內(nèi)的值,包括開始索引和結(jié)束索引。

參數(shù):

參數(shù)名稱 參數(shù)描述
low 指示要刪除的值的起始索引。
high 指示要刪除的值的結(jié)束索引。

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果指定的索引超出有效范圍,則引發(fā)此異常。

sortIns

public void sortIns()

對當(dāng)前 Int Array 對象中的數(shù)組進行升序排序。

binarySearchInInsArray

public int binarySearchInInsArray(int value)

使用二分搜索算法搜索指定的值。 如果沒有找到結(jié)果,則返回負值。 但是,您可以反轉(zhuǎn)此負值以獲得應(yīng)將值插入當(dāng)前 IntArray 對象的索引。

請注意,必須對有序數(shù)組執(zhí)行二進制搜索。 因此,在調(diào)用此方法之前,必須使用 sortIns() 方法對對象中的值進行排序。 否則返回的結(jié)果是不確定的。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 指示要搜索的值。

返回:

返回值的索引; 如果沒有找到結(jié)果,則返回負值。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號