树叶云鸿蒙OS教程:鸿蒙OS LightweightSet

LightweightSet

java.lang.Object

|—ohos.utils.LightweightSet<E&

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

提供一个实现 Collection 和 Set 接口的容器。

LightweightSet 容器使用的内存比 HashSet 容器少,但在达到较大尺寸时可能会表现出较差的性能。

建议您在需要较少内存时使用此容器。

注意:只有从 LightweightSet 容器中读取数据时,线程才是安全的。

构造函数摘要

构造函数描述
LightweightSet()构造一个默认的 LightweightSet 容器。
LightweightSet(int capacity)构造一个具有指定容量的 LightweightSet 容器。
LightweightSet(int capacity, boolean useIdentityHash)构造一个具有指定容量的 LightweightSet 容器,并指定是否使用系统哈希方法来映射键。
LightweightSet(LightweightSet<? extends E> srcLightweightSet)使用现有的 LightweightSet 容器构造一个新的 LightweightSet 容器。

方法总结

修饰符和类型方法描述
booleanadd(E element)将指定的元素对象添加到 LightweightSet 容器。
booleanaddAll(Collection<? extends E> collection)将指定 Collection 中的所有对象添加到 LightweightSet 容器。
booleanaddAll(LightweightSet<? extends E> array)将指定 LightweightSet 容器中的所有对象添加到当前 LightweightSet 容器中。
voidclear()清除 LightweightSet 容器。
booleancontains(Object key)检查 LightweightSet 容器是否具有指定的键。
booleancontainsAll(Collection<?> collection)检查 LightweightSet 容器是否具有指定 Collection 的所有对象。
voidensureCapacity(int minimumCapacity)保证 LightweightSet 容器的容量大于等于指定值,并且容器扩容后拥有所有原始对象。
booleanequals(Object obj)检查 LightweightSet 容器的对象是否与指定的 Object 属于同一类型。
inthashCode()获取 LightweightSet 容器的哈希值。
intindexOf(Object key)获取LightweightSet容器中指定Object类型的key的索引。
booleanisEmpty()检查 LightweightSet 容器是否没有对象。
IteratorEiterator()获取一个可以操作LightweightSet容器的Iterator。
booleanremove(Object obj)从 LightweightSet 容器中删除指定 Object 类型的对象。
booleanremoveAll(Collection<?> collection)从 LightweightSet 容器中删除指定 Collection 中包含的所有对象。
booleanremoveAll(LightweightSet<? extends E> array)从 LightweightSet 容器中删除指定 LightweightSet 容器中包含的所有对象。
EremoveAt(int index)从 LightweightSet 容器中删除由 index 标识的位置处的对象。
booleanretainAll(Collection<?> collection)从 LightweightSet 容器中删除指定 Collection 中不存在的对象。
intsize()获取 LightweightSet 容器中的对象数。
Object[]toArray()获取一个包含 LightweightSet 容器的所有对象的数组。
<T> T[]toArray(T[] array)获取一个包含 LightweightSet 容器的所有对象的数组。
StringtoString()获取包含 LightweightSet 容器的所有对象的字符串。
EvalueAt(int index)获取 LightweightSet 容器中由 index 标识的位置处的对象。
EvalueAt(int index, E defaultKey)获取 LightweightSet 容器中由 index 标识的位置处的对象。
从接口 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

构造函数详细信息

LightweightSet

public LightweightSet()

构造一个默认的 LightweightSet 容器。

LightweightSet

public LightweightSet(int capacity)

构造一个具有指定容量的 LightweightSet 容器。

参数:

参数名称参数描述
capacity表示要构建的 LightweightSet 容器的容量。

LightweightSet

public LightweightSet(int capacity, boolean useIdentityHash)

构造一个具有指定容量的 LightweightSet 容器,并指定是否使用系统哈希方法来映射键。

参数:

参数名称参数描述
capacity表示要构建的 LightweightSet 容器的容量。
useIdentityHash指定是否使用系统哈希方法来映射键。 值 true 表示使用 System.identityHashCode 方法。 值 false 表示使用默认的 hashCode 方法。

LightweightSet

public LightweightSet(LightweightSet<? extends E> srcLightweightSet)

使用现有的 LightweightSet 容器构造一个新的 LightweightSet 容器。

参数:

参数名称参数描述
srcLightweightSet指示现有的 LightweightSet 容器。

方法详情

add

public boolean add(E element)

将指定的元素对象添加到 LightweightSet 容器。

指定者:

添加接口CollectionE

指定者:

添加接口SetE

参数:

参数名称参数描述
element表示要添加的元素对象。

返回:

如果添加了元素对象,则返回 true; 如果元素对象已存在于 LightweightSet 容器中,则返回 false。

addAll

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

将指定 LightweightSet 容器中的所有对象添加到当前 LightweightSet 容器中。

在添加对象之前,会检查并保证当前 LightweightSet 容器的容量。

参数:

参数名称参数描述
array表示指定的 LightweightSet 容器,其对象要添加到当前 LightweightSet 容器中。

返回:

如果有任何对象被添加到当前容器中,则返回 true; 否则返回 false。

Throws:

Throw名称Throw描述
NullPointerException如果数组为空,则抛出此异常。

addAll

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

将指定 Collection 中的所有对象添加到 LightweightSet 容器。

指定者:

接口 CollectionE 中的 addAll

指定者:

接口 SetE 中的 addAll

参数:

参数名称参数描述
collection指示要将其对象添加到 LightweightSet 容器的 Collection。

返回:

如果将任何对象添加到容器中,则返回 true; 否则返回 false。

Throws:

Throw名称Throw描述
NullPointerException如果集合为空,则引发此异常。

clear

public void clear()

清除 LightweightSet 容器。

此方法使 LightweightSet 容器为空。

指定者:

在界面 CollectionE 中清除

指定者:

在接口 SetE 中清除

contains

public boolean contains(Object key)

检查 LightweightSet 容器是否具有指定的键。

指定者:

包含在接口 CollectionE 中

指定者:

包含在接口 SetE 中

参数:

参数名称参数描述
key表示指定的键。

返回:

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

containsAll

public boolean containsAll(Collection<?> collection)

检查 LightweightSet 容器是否具有指定 Collection 的所有对象。

指定者:

接口 CollectionE 中的 containsAll

指定者:

接口 SetE 中的 containsAll

参数:

参数名称参数描述
collection表示指定的集合。

返回:

如果 LightweightSet 容器具有指定 Collection 的所有对象,则返回 true; 否则返回 false。

Throws:

Throw名称Throw描述
NullPointerException如果集合为空,则引发此异常。

ensureCapacity

public void ensureCapacity(int minimumCapacity)

保证 LightweightSet 容器的容量大于等于指定值,并且容器扩容后拥有所有原始对象。

参数:

参数名称参数描述
minimumCapacity指示 LightweightSet 容器允许的最小容量。

equals

public boolean equals(Object obj)

检查 LightweightSet 容器的对象是否与指定的 Object 属于同一类型。

指定者:

接口 CollectionE 中的等于

指定者:

接口 SetE 中的等于

覆盖:

类 Object 中的等于

参数:

参数名称参数描述
obj指示要与 LightweightSet 容器的对象进行比较的 Object。

返回:

如果 LightweightSet 容器的对象与指定 Object 的类型相同,则返回 true; 否则返回 false。

hashCode

public int hashCode()

获取 LightweightSet 容器的哈希值。

哈希值是 LightweightSet 容器的所有对象的哈希值之和。

如果 LightweightSet 容器没有对象,则哈希值为 0。

指定者:

接口 CollectionE 中的 hashCode

指定者:

接口 SetE 中的 hashCode

覆盖:

类 Object 中的 hashCode

返回:

返回 LightweightSet 容器的哈希值。

indexOf

public int indexOf(Object key)

获取LightweightSet容器中指定Object类型的key的索引。

参数:

参数名称参数描述
key表示指定Object类型的key。

返回:

以 int 格式返回键的索引。

isEmpty

public boolean isEmpty()

检查 LightweightSet 容器是否没有对象。

指定者:

接口 CollectionE 中的 isEmpty

指定者:

接口 SetE 中的 isEmpty

返回:

如果 LightweightSet 容器没有对象,则返回 true; 否则返回 false。

iterator

public IteratorE iterator()

获取一个可以操作LightweightSet容器的Iterator。

指定者:

接口 CollectionE 中的迭代器

指定者:

接口 IterableE 中的迭代器

指定者:

接口 SetE 中的迭代器

返回:

返回一个可以操作 LightweightSet 容器的 Iterator。

remove

public boolean remove(Object obj)

从 LightweightSet 容器中删除指定 Object 类型的对象。

指定者:

在接口 CollectionE 中删除

指定者:

在接口 SetE 中删除

参数:

参数名称参数描述
obj表示要删除的对象。

返回:

如果对象从 LightweightSet 容器中删除,则返回 true; 如果 LightweightSet 容器中不存在该对象,则返回 false。

removeAll

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

从 LightweightSet 容器中删除指定 LightweightSet 容器中包含的所有对象。

参数:

参数名称参数描述
array表示指定的 LightweightSet 容器。

返回:

如果从 LightweightSet 容器中删除任何对象,则返回 true; 否则返回 false。

Throws:

Throw名称Throw描述
NullPointerException如果数组为空,则抛出此异常。

removeAll

public boolean removeAll(Collection<?> collection)

从 LightweightSet 容器中删除指定 Collection 中包含的所有对象。

指定者:

接口 CollectionE 中的 removeAll

指定者:

接口 SetE 中的 removeAll

参数:

参数名称参数描述
collection表示指定的集合。

返回:

如果从 LightweightSet 容器中删除任何对象,则返回 true; 否则返回 false。

removeAt

public E removeAt(int index)

从 LightweightSet 容器中删除由 index 标识的位置处的对象。

如果 index 为负数,则从反方向定位对象。

在删除过程中,系统会判断 LightweightSet 容器的容量是扩容还是缩容。 如果容器中的对象数量小于指定数量,系统会减少容器的容量。

参数:

参数名称参数描述
index标识对象的位置。

返回:

返回由索引标识的对象。

retainAll

public boolean retainAll(Collection<?> collection)

从 LightweightSet 容器中删除指定 Collection 中不存在的对象。

指定者:

接口CollectionE中的retainAll

指定者:

接口SetE中的retainAll

参数:

参数名称参数描述
collection表示指定的集合。

返回:

如果从 LightweightSet 容器中删除任何对象,则返回 true; 否则返回 false。

Throws:

Throw名称Throw描述
NullPointerException如果集合为空,则引发此异常。

toString

public String toString()

获取包含 LightweightSet 容器的所有对象的字符串。

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

LightweightSet 容器中的对象必须支持 toString 方法。

覆盖:

类 Object 中的 toString

返回:

返回一个包含 LightweightSet 容器的所有对象的字符串。

size

public int size()

获取 LightweightSet 容器中的对象数。

指定者:

接口 CollectionE 中的大小

指定者:

接口 SetE 中的大小

返回:

返回 LightweightSet 容器中的对象数。

toArray

public Object[] toArray()

获取一个包含 LightweightSet 容器的所有对象的数组。

指定者:

接口 CollectionE 中的 toArray

指定者:

接口 SetE 中的 toArray

返回:

返回一个数组,其中包含 LightweightSet 容器的所有对象。

toArray

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

获取一个包含 LightweightSet 容器的所有对象的数组。

如果输入数组的容量不足,将使用容量充足的新数组。

指定者:

接口 CollectionE 中的 toArray

指定者:

接口 SetE 中的 toArray

类型参数:

类型参数名称类型参数描述
T包含集合的数组的运行时类型

参数:

参数名称参数描述
array表示存储LightweightSet容器所有对象的数组。

返回:

返回一个数组,其中包含 LightweightSet 容器的所有对象。

Throws:

Throw名称Throw描述
NullPointerException如果数组为空,则抛出此异常。

valueAt

public E valueAt(int index)

获取 LightweightSet 容器中由 index 标识的位置处的对象。

如果 index 为负数,则从反方向定位对象。

参数:

参数名称参数描述
index标识对象的位置。

返回:

返回 LightweightSet 容器中由索引标识的对象。

valueAt

public E valueAt(int index, E defaultKey)

获取 LightweightSet 容器中由 index 标识的位置处的对象。

如果 index 为负数,则从反方向定位对象。

如果索引无效(例如大于 LightweightSet 容器中的对象个数或小于 0),则返回 defaultKey。

参数:

参数名称参数描述
index标识对象的位置。
defaultKey表示指定索引无效时返回的默认值。

返回:

返回 LightweightSet 容器中由索引标识的对象。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/201689.html<

(0)
管理的头像管理
上一篇2025-04-05 21:18
下一篇 2025-04-05 21:19

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注