鴻蒙OS PlainIntArray

2022-08-31 11:35 更新

PlainIntArray

java.lang.Object

|---ohos.utils.PlainIntArray

public class PlainIntArray
extends Object
implements Cloneable

一個(gè)基本的集合類(lèi),用于存儲(chǔ)使用原始數(shù)據(jù)類(lèi)型 int 作為鍵和值的數(shù)據(jù)結(jié)構(gòu)。

此類(lèi)中的值直接存儲(chǔ)在數(shù)組中,無(wú)需包裝到其他類(lèi)型或自動(dòng)裝箱。 這簡(jiǎn)化了數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)并節(jié)省了內(nèi)存。 該類(lèi)中的所有key在存儲(chǔ)時(shí)都是按升序排序的,使用二分查找算法高效查找指定key。 在這樣的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,鍵和值可以基于索引進(jìn)行迭代。 這個(gè)類(lèi)實(shí)現(xiàn)了 Cloneable 接口。

使用 PlainIntArray 類(lèi)時(shí)要注意以下幾點(diǎn):

  • 這個(gè)類(lèi)是非線程安全的。
  • 值的存儲(chǔ)順序與插入時(shí)不同。

字段摘要

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

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

構(gòu)造函數(shù) 描述
PlainIntArray() 用于創(chuàng)建 PlainIntArray 實(shí)例的默認(rèn)構(gòu)造函數(shù)。
PlainIntArray(int capacity) 用于創(chuàng)建具有自定義初始容量的 PlainIntArray 實(shí)例的構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類(lèi)型 方法 描述
void append(int key, int value) 將鍵值對(duì)附加到 PlainIntArray。
void clear() 清除存儲(chǔ)在當(dāng)前 PlainIntArray 對(duì)象中的所有鍵值對(duì)。
PlainIntArray clone() 創(chuàng)建當(dāng)前 PlainIntArray 對(duì)象的克隆。
boolean contains(int key) 檢查當(dāng)前的 PlainIntArray 對(duì)象是否包含指定的鍵。
OptionalInteger get(int key) 查詢與指定鍵關(guān)聯(lián)的值。
int get(int key, int defaultValue) 使用傳遞的 defaultValue 參數(shù)查詢與指定鍵關(guān)聯(lián)的值。
int indexOfKey(int key) 查詢指定鍵的索引。
int indexOfValue(int value) 查詢指定值的索引。
boolean isEmpty() 檢查當(dāng)前 PlainIntArray 對(duì)象是否為空。
int keyAt(int index) 查詢指定索引處的鍵。
int locate(int key) 搜索指定鍵的索引。
void put(int key, int value) 向 PlainIntArray 添加一個(gè)鍵值對(duì)。
OptionalInteger remove(int key) 根據(jù)指定鍵刪除鍵值對(duì)。
OptionalInteger removeAt(int index) 刪除指定索引處的鍵值對(duì)。
void setValueAt(int index, int value) 更新指定索引處的值。
int size() 獲取當(dāng)前 PlainIntArray 中存儲(chǔ)的值的總數(shù)。
String toString() 獲取 PlainIntArray 對(duì)象的字符串表示形式。
int valueAt(int index) 查詢指定索引處的值。
從類(lèi) java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

字段詳細(xì)信息

INVALID_INDEX

public static final int INVALID_INDEX

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

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

PlainIntArray

public PlainIntArray()

用于創(chuàng)建 PlainIntArray 實(shí)例的默認(rèn)構(gòu)造函數(shù)。

PlainIntArray

public PlainIntArray(int capacity)

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

此構(gòu)造函數(shù)允許您自定義 PlainIntArray 對(duì)象的初始容量。

參數(shù):

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

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果指定的容量小于或等于 0,則引發(fā)此異常。

方法詳情

locate

public int locate(int key)

搜索指定鍵的索引。

二分搜索算法用于搜索。 如果沒(méi)有找到結(jié)果,則返回負(fù)值。 但是,您可以將此負(fù)值取反以獲取該鍵應(yīng)存儲(chǔ)在數(shù)組中的索引。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要搜索的鍵。

返回:

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

append

public void append(int key, int value)

將鍵值對(duì)附加到 PlainIntArray。

如果要添加的鍵大于數(shù)組中的任何現(xiàn)有鍵,則此方法比 put(int,int) 方法更有效。 如果指定的鍵不是數(shù)組中最大的鍵,則自動(dòng)調(diào)用 put(int,int) 方法添加鍵值對(duì)。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要添加的鍵。
value 指示與鍵關(guān)聯(lián)的值。

clear

public void clear()

清除存儲(chǔ)在當(dāng)前 PlainIntArray 對(duì)象中的所有鍵值對(duì)。

clone

public PlainIntArray clone()

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

覆蓋:

在類(lèi) Object 中克隆

返回:

返回 PlainIntArray 對(duì)象的克隆。

remove

public OptionalInteger remove(int key)

根據(jù)指定鍵刪除鍵值對(duì)。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要?jiǎng)h除的密鑰。

返回:

返回一個(gè)包含已移除值的 Optional 對(duì)象; 如果 key 不存在,則返回一個(gè)空的 Optional 對(duì)象。

removeAt

public OptionalInteger removeAt(int index)

刪除指定索引處的鍵值對(duì)。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 表示要移除的鍵值對(duì)的索引。

返回:

返回包含已刪除值的 Optional 對(duì)象。

Throws:

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

get

public OptionalInteger get(int key)

查詢與指定鍵關(guān)聯(lián)的值。

參數(shù):

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

返回:

返回一個(gè)包含獲得值的 Optional 對(duì)象; 如果 key 不存在,則返回一個(gè)空的 Optional 對(duì)象。

get

public int get(int key, int defaultValue)

使用傳遞的 defaultValue 參數(shù)查詢與指定鍵關(guān)聯(lián)的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要查詢的值的鍵。
defaultValue 表示默認(rèn)值。

返回:

返回鍵的值; 如果鍵不存在,則返回 defaultValue。

indexOfKey

public int indexOfKey(int key)

查詢指定鍵的索引。

參數(shù):

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

返回:

返回鍵的索引; 如果查詢的鍵不存在,則返回 INVALID_INDEX。

indexOfValue

public int indexOfValue(int value)

查詢指定值的索引。

參數(shù):

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

返回:

如果找到多個(gè)值,則返回第一個(gè)匹配值的索引; 如果查詢的值不存在,則返回 INVALID_INDEX。

keyAt

public int keyAt(int index)

查詢指定索引處的鍵。

參數(shù):

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

返回:

返回指定索引的鍵。

Throws:

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

valueAt

public int valueAt(int index)

查詢指定索引處的值。

參數(shù):

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

返回:

返回指定索引的值。

Throws:

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

put

public void put(int key, int value)

向 PlainIntArray 添加一個(gè)鍵值對(duì)。

如果指定的鍵已經(jīng)存在,它的值將被替換為值。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要添加的鍵。
value 指示與鍵關(guān)聯(lián)的值。

setValueAt

public void setValueAt(int index, int value)

更新指定索引處的值。

參數(shù):

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

Throws:

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

size

public int size()

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

返回:

返回存儲(chǔ)值的總數(shù)。

isEmpty

public boolean isEmpty()

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

返回:

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

contains

public boolean contains(int key)

檢查當(dāng)前的 PlainIntArray 對(duì)象是否包含指定的鍵。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要檢查的鍵。

返回:

如果指定的鍵存在,則返回 true; 否則返回 false。

toString

public String toString()

獲取 PlainIntArray 對(duì)象的字符串表示形式。

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

覆蓋:

類(lèi) Object 中的 toString

返回:

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)