新聞中心
HashSet

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),黎平網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:黎平等地區(qū)。黎平做網(wǎng)站價(jià)格咨詢:18980820575
java.lang.Object
|---java.util.AbstractCollection
|---|---java.util.AbstractSet
|---|---|---java.util.HashSet
public class HashSet
extends AbstractSet
implements Set, Cloneable, Serializable 該類實(shí)現(xiàn)了由哈希表(實(shí)際上是 HashMap 實(shí)例)支持的 Set 接口。 它不保證集合的迭代順序; 特別是,它不保證訂單會隨著時(shí)間的推移保持不變。 此類允許空元素。
此類為基本操作(添加、刪除、包含和大?。┨峁┖愣ǖ臅r(shí)間性能,假設(shè)哈希函數(shù)將元素正確地分散在桶中。 迭代這個(gè)集合需要的時(shí)間與 HashSet 實(shí)例的大?。ㄔ氐臄?shù)量)加上支持 HashMap 實(shí)例的“容量”(桶的數(shù)量)的總和成正比。 因此,如果迭代性能很重要,則不要將初始容量設(shè)置得太高(或負(fù)載因子太低),這一點(diǎn)非常重要。
請注意,此實(shí)現(xiàn)不同步。 如果多個(gè)線程同時(shí)訪問一個(gè)哈希集,并且至少有一個(gè)線程修改了該集,則必須在外部進(jìn)行同步。 這通常是通過在一些自然封裝集合的對象上同步來完成的。 如果不存在這樣的對象,則應(yīng)使用 Collections#synchronizedSet 方法“包裝”該集合。 這最好在創(chuàng)建時(shí)完成,以防止對集合的意外不同步訪問:
Set s = Collections.synchronizedSet(new HashSet(...));此類的迭代器方法返回的迭代器是快速失敗的:如果在創(chuàng)建迭代器后的任何時(shí)間修改了集合,除了通過迭代器自己的 remove 方法之外的任何方式,迭代器都會拋出 ConcurrentModificationException。 因此,面對并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時(shí)間冒任意的、非確定性的行為。
請注意,不能保證迭代器的快速失敗行為,因?yàn)橐话銇碚f,在存在不同步的并發(fā)修改的情況下,不可能做出任何硬保證。 快速失敗的迭代器會盡最大努力拋出 ConcurrentModificationException。 因此,編寫一個(gè)依賴于這個(gè)異常的正確性的程序是錯誤的:迭代器的快速失敗行為應(yīng)該只用于檢測錯誤。
此類是 Java 集合框架的成員。
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| HashSet() | 構(gòu)造一個(gè)新的空集; 支持的 HashMap 實(shí)例具有默認(rèn)的初始容量 (16) 和加載因子 (0.75)。 |
| HashSet(int initialCapacity) | 構(gòu)造一個(gè)新的空集; 支持 HashMap 實(shí)例具有指定的初始容量和默認(rèn)加載因子 (0.75)。 |
| HashSet(int initialCapacity, float loadFactor) | 構(gòu)造一個(gè)新的空集; 后備 HashMap 實(shí)例具有指定的初始容量和指定的負(fù)載因子。 |
| HashSet(Collection extends E> c) | 構(gòu)造一個(gè)包含指定集合中元素的新集合。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| boolean | add(E e) | 如果指定的元素尚不存在,則將其添加到此集合中。 |
| void | clear() | 從此集合中移除所有元素。 |
| Object | clone() | 返回此 HashSet 實(shí)例的淺表副本:元素本身未被克隆。 |
| boolean | contains(Object o) | 如果此集合包含指定的元素,則返回 true。 |
| boolean | isEmpty() | 如果此集合不包含任何元素,則返回 true。 |
| IteratorE | iterator() | 返回此集合中元素的迭代器。 |
| boolean | remove(Object o) | 如果存在,則從此集合中刪除指定的元素。 |
| int | size() | 返回此集合中的元素?cái)?shù)(其基數(shù))。 |
| SpliteratorE | spliterator() | 在此集合中的元素上創(chuàng)建一個(gè)后期綁定和快速失敗的拆分器。 |
| 從類 java.util.AbstractCollection 繼承的方法 |
|---|
| addAll, containsAll, retainAll, toArray, toArray, toString |
| 從類 java.util.AbstractSet 繼承的方法 |
|---|
| equals, hashCode, removeAll |
| 從接口 java.util.Collection 繼承的方法 |
|---|
| parallelStream, removeIf, stream |
| 從接口 java.lang.Iterable 繼承的方法 |
|---|
| forEach |
| 從類 java.lang.Object 繼承的方法 |
|---|
| finalize, getClass, notify, notifyAll, wait, wait, wait |
| 從接口 java.util.Set 繼承的方法 |
|---|
| addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray |
構(gòu)造函數(shù)詳細(xì)信息
HashSet
public HashSet()
構(gòu)造一個(gè)新的空集; 支持的 HashMap 實(shí)例具有默認(rèn)的初始容量 (16) 和加載因子 (0.75)。
HashSet
public HashSet(Collection extends E> c)
構(gòu)造一個(gè)包含指定集合中元素的新集合。 HashMap 是使用默認(rèn)加載因子 (0.75) 和足以包含指定集合中的元素的初始容量創(chuàng)建的。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| c | 將其元素放入此集合的集合 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | if the specified collection is null |
HashSet
public HashSet(int initialCapacity, float loadFactor)
構(gòu)造一個(gè)新的空集; 后備 HashMap 實(shí)例具有指定的初始容量和指定的負(fù)載因子。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| initialCapacity | hash map的初始容量 |
| loadFactor | 哈希映射的負(fù)載因子 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果初始容量小于零,或者負(fù)載因子為非正數(shù) |
HashSet
public HashSet(int initialCapacity)
構(gòu)造一個(gè)新的空集; 支持 HashMap 實(shí)例具有指定的初始容量和默認(rèn)加載因子 (0.75)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| initialCapacity | 哈希表的初始容量 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果初始容量小于零 |
方法詳情
iterator
public IteratorE iterator()
返回此集合中元素的迭代器。 返回的元素沒有特定的順序。
指定者:
接口 CollectionE 中的迭代器
指定者:
接口 IterableE 中的迭代器
指定者:
接口 SetE 中的迭代器
指定者:
AbstractCollectionE 類中的迭代器
返回:
此集合中元素的迭代器
size
public int size()
返回此集合中的元素?cái)?shù)(其基數(shù))。
指定者:
接口 CollectionE 中的大小
指定者:
接口 SetE 中的大小
指定者:
AbstractCollectionE 類中的大小
返回:
該集合中的元素?cái)?shù)量(其基數(shù))
isEmpty
public boolean isEmpty()
如果此集合不包含任何元素,則返回 true。
指定者:
接口 CollectionE 中的 isEmpty
指定者:
接口 SetE 中的 isEmpty
覆蓋:
類 AbstractCollectionE 中的 isEmpty
返回:
如果此集合不包含任何元素,則為 true
contains
public boolean contains(Object o)
如果此集合包含指定的元素,則返回 true。 更正式地說,當(dāng)且僅當(dāng)此集合包含滿足 (o==null ? e==null : o.equals(e)) 的元素 e 時(shí)才返回 true。
指定者:
包含在接口 CollectionE 中
指定者:
包含在接口 SetE 中
覆蓋:
包含在類 AbstractCollectionE 中
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要測試其在該集合中的存在的元素 |
返回:
如果此集合包含指定元素,則為 true
add
public boolean add(E e)
如果指定的元素尚不存在,則將其添加到此集合中。 更正式地說,如果此集合不包含元素 e2,則將指定的元素 e 添加到此集合中,使得 (e==null ? e2==null : e.equals(e2))。 如果該集合已包含該元素,則調(diào)用將保持該集合不變并返回 false。
指定者:
添加接口CollectionE
指定者:
添加接口SetE
覆蓋:
添加類 AbstractCollectionE
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要添加到此集合的元素 |
返回:
如果此集合尚未包含指定元素,則為 true
remove
public boolean remove(Object o)
如果存在,則從此集合中刪除指定的元素。 更正式地說,如果這個(gè)集合包含這樣一個(gè)元素,則刪除一個(gè)元素 e 使得 (o==null ? e==null : o.equals(e))。 如果此 set 包含該元素(或等效地,如果此 set 由于調(diào)用而更改),則返回 true。 (一旦調(diào)用返回,該集合將不包含該元素。)
指定者:
在接口 CollectionE 中刪除
指定者:
在接口 SetE 中刪除
覆蓋:
在類 AbstractCollectionE 中刪除
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要從此集合中刪除的對象(如果存在) |
返回:
如果集合包含指定元素,則為 true
clear
public void clear()
從此集合中移除所有元素。 此調(diào)用返回后,該集合將為空。
指定者:
在界面 CollectionE 中清除
指定者:
在接口 SetE 中清除
覆蓋:
在類 AbstractCollectionE 中清除
clone
public Object clone()
返回此 HashSet 實(shí)例的淺表副本:元素本身未被克隆。
覆蓋:
在類 Object 中克隆
返回:
這個(gè)集合的淺拷貝
spliterator
public SpliteratorE spliterator()
在此集合中的元素上創(chuàng)建一個(gè)后期綁定和快速失敗的拆分器。
Spliterator 報(bào)告 Spliterator#SIZED 和 Spliterator#DISTINCT。 覆蓋實(shí)現(xiàn)應(yīng)記錄附加特征值的報(bào)告。
指定者:
接口 CollectionE 中的分離器
指定者:
接口 IterableE 中的分離器
指定者:
接口 SetE 中的分離器
返回:
此集合中元素的拆分器
新聞標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSHashSet
當(dāng)前鏈接:http://www.dlmjj.cn/article/djpeghs.html


咨詢
建站咨詢
