鴻蒙OS LightweightSet

2022-08-26 10:14 更新

LightweightSet

java.lang.Object

|---ohos.utils.LightweightSet<E&

public final class LightweightSet<E>
extends Object
implements Collection<E>, Set<E>

提供一個(gè)實(shí)現(xiàn) Collection 和 Set 接口的容器。

LightweightSet 容器使用的內(nèi)存比 HashSet 容器少,但在達(dá)到較大尺寸時(shí)可能會(huì)表現(xiàn)出較差的性能。

建議您在需要較少內(nèi)存時(shí)使用此容器。

注意:只有從 LightweightSet 容器中讀取數(shù)據(jù)時(shí),線程才是安全的。

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

構(gòu)造函數(shù) 描述
LightweightSet() 構(gòu)造一個(gè)默認(rèn)的 LightweightSet 容器。
LightweightSet(int capacity) 構(gòu)造一個(gè)具有指定容量的 LightweightSet 容器。
LightweightSet(int capacity, boolean useIdentityHash) 構(gòu)造一個(gè)具有指定容量的 LightweightSet 容器,并指定是否使用系統(tǒng)哈希方法來映射鍵。
LightweightSet(LightweightSet<? extends E> srcLightweightSet) 使用現(xiàn)有的 LightweightSet 容器構(gòu)造一個(gè)新的 LightweightSet 容器。

方法總結(jié)

修飾符和類型 方法 描述
boolean add(E element) 將指定的元素對(duì)象添加到 LightweightSet 容器。
boolean addAll(Collection<? extends E> collection) 將指定 Collection 中的所有對(duì)象添加到 LightweightSet 容器。
boolean addAll(LightweightSet<? extends E> array) 將指定 LightweightSet 容器中的所有對(duì)象添加到當(dāng)前 LightweightSet 容器中。
void clear() 清除 LightweightSet 容器。
boolean contains(Object key) 檢查 LightweightSet 容器是否具有指定的鍵。
boolean containsAll(Collection<?> collection) 檢查 LightweightSet 容器是否具有指定 Collection 的所有對(duì)象。
void ensureCapacity(int minimumCapacity) 保證 LightweightSet 容器的容量大于等于指定值,并且容器擴(kuò)容后擁有所有原始對(duì)象。
boolean equals(Object obj) 檢查 LightweightSet 容器的對(duì)象是否與指定的 Object 屬于同一類型。
int hashCode() 獲取 LightweightSet 容器的哈希值。
int indexOf(Object key) 獲取LightweightSet容器中指定Object類型的key的索引。
boolean isEmpty() 檢查 LightweightSet 容器是否沒有對(duì)象。
IteratorE iterator() 獲取一個(gè)可以操作LightweightSet容器的Iterator。
boolean remove(Object obj) 從 LightweightSet 容器中刪除指定 Object 類型的對(duì)象。
boolean removeAll(Collection<?> collection) 從 LightweightSet 容器中刪除指定 Collection 中包含的所有對(duì)象。
boolean removeAll(LightweightSet<? extends E> array) 從 LightweightSet 容器中刪除指定 LightweightSet 容器中包含的所有對(duì)象。
E removeAt(int index) 從 LightweightSet 容器中刪除由 index 標(biāo)識(shí)的位置處的對(duì)象。
boolean retainAll(Collection<?> collection) 從 LightweightSet 容器中刪除指定 Collection 中不存在的對(duì)象。
int size() 獲取 LightweightSet 容器中的對(duì)象數(shù)。
Object[] toArray() 獲取一個(gè)包含 LightweightSet 容器的所有對(duì)象的數(shù)組。
<T> T[] toArray(T[] array) 獲取一個(gè)包含 LightweightSet 容器的所有對(duì)象的數(shù)組。
String toString() 獲取包含 LightweightSet 容器的所有對(duì)象的字符串。
E valueAt(int index) 獲取 LightweightSet 容器中由 index 標(biāo)識(shí)的位置處的對(duì)象。
E valueAt(int index, E defaultKey) 獲取 LightweightSet 容器中由 index 標(biāo)識(shí)的位置處的對(duì)象。
從接口 java.util.Collection 繼承的方法
parallelStream, removeIf, stream
從接口 java.lang.Iterable 繼承的方法
forEach
從類 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
從接口 java.util.Set 繼承的方法
spliterator

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

LightweightSet

public LightweightSet()

構(gòu)造一個(gè)默認(rèn)的 LightweightSet 容器。

LightweightSet

public LightweightSet(int capacity)

構(gòu)造一個(gè)具有指定容量的 LightweightSet 容器。

參數(shù):

參數(shù)名稱 參數(shù)描述
capacity 表示要構(gòu)建的 LightweightSet 容器的容量。

LightweightSet

public LightweightSet(int capacity, boolean useIdentityHash)

構(gòu)造一個(gè)具有指定容量的 LightweightSet 容器,并指定是否使用系統(tǒng)哈希方法來映射鍵。

參數(shù):

參數(shù)名稱 參數(shù)描述
capacity 表示要構(gòu)建的 LightweightSet 容器的容量。
useIdentityHash 指定是否使用系統(tǒng)哈希方法來映射鍵。 值 true 表示使用 System.identityHashCode 方法。 值 false 表示使用默認(rèn)的 hashCode 方法。

LightweightSet

public LightweightSet(LightweightSet<? extends E> srcLightweightSet)

使用現(xiàn)有的 LightweightSet 容器構(gòu)造一個(gè)新的 LightweightSet 容器。

參數(shù):

參數(shù)名稱 參數(shù)描述
srcLightweightSet 指示現(xiàn)有的 LightweightSet 容器。

方法詳情

add

public boolean add(E element)

將指定的元素對(duì)象添加到 LightweightSet 容器。

指定者:

添加接口CollectionE

指定者:

添加接口SetE

參數(shù):

參數(shù)名稱 參數(shù)描述
element 表示要添加的元素對(duì)象。

返回:

如果添加了元素對(duì)象,則返回 true; 如果元素對(duì)象已存在于 LightweightSet 容器中,則返回 false。

addAll

public boolean addAll(LightweightSet<? extends E> array)

將指定 LightweightSet 容器中的所有對(duì)象添加到當(dāng)前 LightweightSet 容器中。

在添加對(duì)象之前,會(huì)檢查并保證當(dāng)前 LightweightSet 容器的容量。

參數(shù):

參數(shù)名稱 參數(shù)描述
array 表示指定的 LightweightSet 容器,其對(duì)象要添加到當(dāng)前 LightweightSet 容器中。

返回:

如果有任何對(duì)象被添加到當(dāng)前容器中,則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
NullPointerException 如果數(shù)組為空,則拋出此異常。

addAll

public boolean addAll(Collection<? extends E> collection)

將指定 Collection 中的所有對(duì)象添加到 LightweightSet 容器。

指定者:

接口 CollectionE 中的 addAll

指定者:

接口 SetE 中的 addAll

參數(shù):

參數(shù)名稱 參數(shù)描述
collection 指示要將其對(duì)象添加到 LightweightSet 容器的 Collection。

返回:

如果將任何對(duì)象添加到容器中,則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
NullPointerException 如果集合為空,則引發(fā)此異常。

clear

public void clear()

清除 LightweightSet 容器。

此方法使 LightweightSet 容器為空。

指定者:

在界面 CollectionE 中清除

指定者:

在接口 SetE 中清除

contains

public boolean contains(Object key)

檢查 LightweightSet 容器是否具有指定的鍵。

指定者:

包含在接口 CollectionE 中

指定者:

包含在接口 SetE 中

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示指定的鍵。

返回:

如果 LightweightSet 容器具有指定的鍵,則返回 true; 否則返回 false。

containsAll

public boolean containsAll(Collection<?> collection)

檢查 LightweightSet 容器是否具有指定 Collection 的所有對(duì)象。

指定者:

接口 CollectionE 中的 containsAll

指定者:

接口 SetE 中的 containsAll

參數(shù):

參數(shù)名稱 參數(shù)描述
collection 表示指定的集合。

返回:

如果 LightweightSet 容器具有指定 Collection 的所有對(duì)象,則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
NullPointerException 如果集合為空,則引發(fā)此異常。

ensureCapacity

public void ensureCapacity(int minimumCapacity)

保證 LightweightSet 容器的容量大于等于指定值,并且容器擴(kuò)容后擁有所有原始對(duì)象。

參數(shù):

參數(shù)名稱 參數(shù)描述
minimumCapacity 指示 LightweightSet 容器允許的最小容量。

equals

public boolean equals(Object obj)

檢查 LightweightSet 容器的對(duì)象是否與指定的 Object 屬于同一類型。

指定者:

接口 CollectionE 中的等于

指定者:

接口 SetE 中的等于

覆蓋:

類 Object 中的等于

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 指示要與 LightweightSet 容器的對(duì)象進(jìn)行比較的 Object。

返回:

如果 LightweightSet 容器的對(duì)象與指定 Object 的類型相同,則返回 true; 否則返回 false。

hashCode

public int hashCode()

獲取 LightweightSet 容器的哈希值。

哈希值是 LightweightSet 容器的所有對(duì)象的哈希值之和。

如果 LightweightSet 容器沒有對(duì)象,則哈希值為 0。

指定者:

接口 CollectionE 中的 hashCode

指定者:

接口 SetE 中的 hashCode

覆蓋:

類 Object 中的 hashCode

返回:

返回 LightweightSet 容器的哈希值。

indexOf

public int indexOf(Object key)

獲取LightweightSet容器中指定Object類型的key的索引。

參數(shù):

參數(shù)名稱 參數(shù)描述
key 表示指定Object類型的key。

返回:

以 int 格式返回鍵的索引。

isEmpty

public boolean isEmpty()

檢查 LightweightSet 容器是否沒有對(duì)象。

指定者:

接口 CollectionE 中的 isEmpty

指定者:

接口 SetE 中的 isEmpty

返回:

如果 LightweightSet 容器沒有對(duì)象,則返回 true; 否則返回 false。

iterator

public IteratorE iterator()

獲取一個(gè)可以操作LightweightSet容器的Iterator。

指定者:

接口 CollectionE 中的迭代器

指定者:

接口 IterableE 中的迭代器

指定者:

接口 SetE 中的迭代器

返回:

返回一個(gè)可以操作 LightweightSet 容器的 Iterator。

remove

public boolean remove(Object obj)

從 LightweightSet 容器中刪除指定 Object 類型的對(duì)象。

指定者:

在接口 CollectionE 中刪除

指定者:

在接口 SetE 中刪除

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 表示要?jiǎng)h除的對(duì)象。

返回:

如果對(duì)象從 LightweightSet 容器中刪除,則返回 true; 如果 LightweightSet 容器中不存在該對(duì)象,則返回 false。

removeAll

public boolean removeAll(LightweightSet<? extends E> array)

從 LightweightSet 容器中刪除指定 LightweightSet 容器中包含的所有對(duì)象。

參數(shù):

參數(shù)名稱 參數(shù)描述
array 表示指定的 LightweightSet 容器。

返回:

如果從 LightweightSet 容器中刪除任何對(duì)象,則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
NullPointerException 如果數(shù)組為空,則拋出此異常。

removeAll

public boolean removeAll(Collection<?> collection)

從 LightweightSet 容器中刪除指定 Collection 中包含的所有對(duì)象。

指定者:

接口 CollectionE 中的 removeAll

指定者:

接口 SetE 中的 removeAll

參數(shù):

參數(shù)名稱 參數(shù)描述
collection 表示指定的集合。

返回:

如果從 LightweightSet 容器中刪除任何對(duì)象,則返回 true; 否則返回 false。

removeAt

public E removeAt(int index)

從 LightweightSet 容器中刪除由 index 標(biāo)識(shí)的位置處的對(duì)象。

如果 index 為負(fù)數(shù),則從反方向定位對(duì)象。

在刪除過程中,系統(tǒng)會(huì)判斷 LightweightSet 容器的容量是擴(kuò)容還是縮容。 如果容器中的對(duì)象數(shù)量小于指定數(shù)量,系統(tǒng)會(huì)減少容器的容量。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 標(biāo)識(shí)對(duì)象的位置。

返回:

返回由索引標(biāo)識(shí)的對(duì)象。

retainAll

public boolean retainAll(Collection<?> collection)

從 LightweightSet 容器中刪除指定 Collection 中不存在的對(duì)象。

指定者:

接口CollectionE中的retainAll

指定者:

接口SetE中的retainAll

參數(shù):

參數(shù)名稱 參數(shù)描述
collection 表示指定的集合。

返回:

如果從 LightweightSet 容器中刪除任何對(duì)象,則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
NullPointerException 如果集合為空,則引發(fā)此異常。

toString

public String toString()

獲取包含 LightweightSet 容器的所有對(duì)象的字符串。

示例字符串是“{1, 2}”。

LightweightSet 容器中的對(duì)象必須支持 toString 方法。

覆蓋:

類 Object 中的 toString

返回:

返回一個(gè)包含 LightweightSet 容器的所有對(duì)象的字符串。

size

public int size()

獲取 LightweightSet 容器中的對(duì)象數(shù)。

指定者:

接口 CollectionE 中的大小

指定者:

接口 SetE 中的大小

返回:

返回 LightweightSet 容器中的對(duì)象數(shù)。

toArray

public Object[] toArray()

獲取一個(gè)包含 LightweightSet 容器的所有對(duì)象的數(shù)組。

指定者:

接口 CollectionE 中的 toArray

指定者:

接口 SetE 中的 toArray

返回:

返回一個(gè)數(shù)組,其中包含 LightweightSet 容器的所有對(duì)象。

toArray

public <T> T[] toArray(T[] array)

獲取一個(gè)包含 LightweightSet 容器的所有對(duì)象的數(shù)組。

如果輸入數(shù)組的容量不足,將使用容量充足的新數(shù)組。

指定者:

接口 CollectionE 中的 toArray

指定者:

接口 SetE 中的 toArray

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 包含集合的數(shù)組的運(yùn)行時(shí)類型

參數(shù):

參數(shù)名稱 參數(shù)描述
array 表示存儲(chǔ)LightweightSet容器所有對(duì)象的數(shù)組。

返回:

返回一個(gè)數(shù)組,其中包含 LightweightSet 容器的所有對(duì)象。

Throws:

Throw名稱 Throw描述
NullPointerException 如果數(shù)組為空,則拋出此異常。

valueAt

public E valueAt(int index)

獲取 LightweightSet 容器中由 index 標(biāo)識(shí)的位置處的對(duì)象。

如果 index 為負(fù)數(shù),則從反方向定位對(duì)象。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 標(biāo)識(shí)對(duì)象的位置。

返回:

返回 LightweightSet 容器中由索引標(biāo)識(shí)的對(duì)象。

valueAt

public E valueAt(int index, E defaultKey)

獲取 LightweightSet 容器中由 index 標(biāo)識(shí)的位置處的對(duì)象。

如果 index 為負(fù)數(shù),則從反方向定位對(duì)象。

如果索引無效(例如大于 LightweightSet 容器中的對(duì)象個(gè)數(shù)或小于 0),則返回 defaultKey。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 標(biāo)識(shí)對(duì)象的位置。
defaultKey 表示指定索引無效時(shí)返回的默認(rèn)值。

返回:

返回 LightweightSet 容器中由索引標(biāo)識(shí)的對(duì)象。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)