鴻蒙OS PlainLongArray

2022-08-31 13:56 更新

PlainLongArray

java.lang.Object

|---ohos.utils.PlainLongArray

public class PlainLongArray
extends Object
implements Cloneable

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

此類中的值直接存儲在數(shù)組中,無需包裝到其他類型中。 這簡化了數(shù)據(jù)存儲結(jié)構(gòu)并節(jié)省了內(nèi)存。 該類中的所有鍵值對在存儲時都是按升序排序的,使用二分查找算法高效查找指定鍵。 在這樣的數(shù)據(jù)存儲結(jié)構(gòu)中,鍵和值可以基于索引進行迭代。 此類實現(xiàn) Cloneable 接口并支持存儲值的淺拷貝。

使用 PlainLongArray 類時要注意以下幾點:

  • 這個類是非線程安全的。
  • 值的存儲順序與插入時不同。

字段摘要

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

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

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

方法總結(jié)

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

字段詳細(xì)信息

INVALID_INDEX

public static final int INVALID_INDEX

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

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

PlainLongArray

public PlainLongArray()

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

PlainLongArray

public PlainLongArray(int capacity)

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

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

參數(shù):

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

Throws:

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

方法詳情

locate

public int locate(int key)

搜索指定鍵的索引。

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

參數(shù):

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

返回:

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

clear

public void clear()

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

append

public void append(int key, long value)

將鍵值對附加到 PlainLongArray。

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

參數(shù):

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

clone

public PlainLongArray clone()

獲取克隆的 PlainLongArray 對象。

覆蓋:

在類 Object 中克隆

返回:

返回 PlainLongArray 對象的克隆。

remove

public OptionalLong remove(int key)

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

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示要刪除的密鑰。

返回:

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

removeAt

public OptionalLong removeAt(int index)

刪除指定索引處的鍵值對。

參數(shù):

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

返回:

返回一個封裝了已移除值的 Optional 對象。

Throws:

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

get

public OptionalLong get(int key)

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

參數(shù):

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

返回:

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

get

public long get(int key, long 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(long value)

查詢指定值的索引。

參數(shù):

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

返回:

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

keyAt

public int keyAt(int index)

查詢指定索引處的鍵。

參數(shù):

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

返回:

返回指定索引處的鍵。

Throws:

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

valueAt

public long valueAt(int index)

查詢指定索引處的值。

參數(shù):

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

返回:

返回指定索引處的值。

Throws:

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

put

public void put(int key, long value)

將鍵值對添加到 PlainLongArray。

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

參數(shù):

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

size

public int size()

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

返回:

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

isEmpty

public boolean isEmpty()

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

返回:

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

contains

public boolean contains(int key)

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

參數(shù):

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

返回:

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

toString

public String toString()

獲取 PlainLongArray 對象的字符串表示形式。

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

覆蓋:

類 Object 中的 toString

返回:

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號