新聞中心
EnumSet

創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為昌寧企業(yè)提供專業(yè)的成都網(wǎng)站制作、做網(wǎng)站,昌寧網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
java.lang.Object
|---java.util.AbstractCollection
|---|---java.util.AbstractSet
|---|---|---java.util.EnumSet
public abstract class EnumSet>
extends AbstractSet
implements Cloneable, Serializable 用于枚舉類型的專用 Set 實現(xiàn)。枚舉集合中的所有元素都必須來自一個枚舉類型,該枚舉類型在創(chuàng)建集合時顯式或隱式指定。枚舉集在內(nèi)部表示為位向量。這種表示非常緊湊和高效。這個類的空間和時間性能應(yīng)該足夠好,以允許它用作傳統(tǒng)的基于 int 的“位標(biāo)志”的高質(zhì)量、類型安全的替代品。如果參數(shù)也是枚舉集,即使批量操作(例如 containsAll 和 retainAll)也應(yīng)該運行得非???。
iterator 方法返回的迭代器以元素的自然順序(聲明枚舉常量的順序)遍歷元素。返回的迭代器是弱一致的:它永遠(yuǎn)不會拋出 ConcurrentModificationException 并且它可能會或可能不會顯示迭代正在進(jìn)行時對集合進(jìn)行的任何修改的影響。
不允許空元素。嘗試插入空元素將引發(fā) NullPointerException。但是,嘗試測試是否存在空元素或刪除空元素將正常運行。
像大多數(shù)集合實現(xiàn)一樣,EnumSet 是不同步的。如果多個線程同時訪問一個枚舉集,并且至少有一個線程修改了該集,則它應(yīng)該在外部同步。這通常是通過同步一些自然封裝枚舉集的對象來完成的。如果不存在這樣的對象,則應(yīng)使用 Collections#synchronizedSet 方法“包裝”該集合。這最好在創(chuàng)建時完成,以防止意外的不同步訪問:
Set s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class)); 實施說明:所有基本操作都在恒定時間內(nèi)執(zhí)行。 它們很可能(盡管不能保證)比它們的 HashSet 對應(yīng)物快得多。 如果參數(shù)也是枚舉集,即使批量操作也會在恒定時間內(nèi)執(zhí)行。
此類是 Java 集合框架的成員。
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| static |
allOf(Class |
創(chuàng)建一個枚舉集,其中包含指定元素類型中的所有元素。 |
| EnumSetE | clone() | 返回此集合的副本。 |
| static |
complementOf(EnumSet |
創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含該類型的所有未包含在指定集中的元素。 |
| static |
copyOf(Collection |
創(chuàng)建從指定集合初始化的枚舉集。 |
| static |
copyOf(EnumSet |
創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含相同的元素(如果有)。 |
| static |
noneOf(Class |
創(chuàng)建具有指定元素類型的空枚舉集。 |
| static |
of(E e) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
| static |
of(E e1, E e2) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
| static |
of(E first, E... rest) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
| static |
of(E e1, E e2, E e3) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
| static |
of(E e1, E e2, E e3, E e4) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
| static |
of(E e1, E e2, E e3, E e4, E e5) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
| static |
range(E from, E to) | 創(chuàng)建一個枚舉集,最初包含由兩個指定端點定義的范圍內(nèi)的所有元素。 |
| 從類 java.util.AbstractCollection 繼承的方法 |
|---|
| add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, 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 繼承的方法 |
|---|
| add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray |
方法詳情
noneOf
public static
創(chuàng)建具有指定元素類型的空枚舉集。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 集合中元素的類別 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| elementType | 此枚舉集的元素類型的類對象 |
返回:
指定類型的空枚舉集。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果元素類型為空 |
allOf
public static
創(chuàng)建一個枚舉集,其中包含指定元素類型中的所有元素。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 集合中元素的類別 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| elementType | 此枚舉集的元素類型的類對象 |
返回:
包含指定類型中所有元素的枚舉集。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 elementType 為空 |
copyOf
public static
創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含相同的元素(如果有)。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 集合中元素的類別 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| s | 從中初始化此枚舉集的枚舉集 |
返回:
指定枚舉集的副本。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 s 為空 |
copyOf
public static
創(chuàng)建從指定集合初始化的枚舉集。 如果指定的集合是 EnumSet 實例,則此靜態(tài)工廠方法的行為與 copyOf(java.util.EnumSet) 相同。 否則,指定的集合必須至少包含一個元素(以確定新枚舉集的元素類型)。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 集合中元素的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| c | 從中初始化此枚舉集的集合 |
返回:
從給定集合初始化的枚舉集。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 c 不是 EnumSet 實例并且不包含任何元素 |
| NullPointerException | 如果 c 為空 |
complementOf
public static
創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含該類型的所有未包含在指定集中的元素。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 枚舉集中元素的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| s | 初始化此枚舉集的補(bǔ)碼的枚舉集 |
返回:
此集合中指定集合的補(bǔ)集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 s 為空 |
of
public static
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 指定元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 該集合最初要包含的元素 |
返回:
最初包含指定元素的枚舉集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 e 為空 |
of
public static
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 參數(shù)元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e1 | 該集合最初要包含的元素 |
| e2 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果任何參數(shù)為空 |
of
public static
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 參數(shù)元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e1 | 該集合最初要包含的元素 |
| e2 | 該集合最初要包含的另一個元素 |
| e3 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果任何參數(shù)為空 |
of
public static
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 參數(shù)元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e1 | 該集合最初要包含的元素 |
| e2 | 該集合最初要包含的另一個元素 |
| e3 | 該集合最初要包含的另一個元素 |
| e4 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果任何參數(shù)為空 |
of
public static
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 參數(shù)元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e1 | 該集合最初要包含的元素 |
| e2 | 該集合最初要包含的另一個元素 |
| e3 | 該集合最初要包含的另一個元素 |
| e4 | 該集合最初要包含的另一個元素 |
| e5 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果任何參數(shù)為空 |
of
@SafeVarargs public static
創(chuàng)建一個最初包含指定元素的枚舉集。 這個工廠,其參數(shù)列表使用可變參數(shù)特性,可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但它可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 參數(shù)元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| first | 集合最初要包含的元素 |
| rest | 集合最初包含的剩余元素 |
返回:
最初包含指定元素的枚舉集
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果任何指定的元素為 null,或者 rest 為 null |
range
public static
創(chuàng)建一個枚舉集,最初包含由兩個指定端點定義的范圍內(nèi)的所有元素。 返回的集合將包含端點本身,它們可能相同但不能亂序。
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| E | 參數(shù)元素和集合的類 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| from | 范圍內(nèi)的第一個元素 |
| to | 范圍內(nèi)的最后一個元素 |
返回:
一個枚舉集,最初包含由兩個指定端點定義的范圍內(nèi)的所有元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 from 或 to 為空 |
| IllegalArgumentException | 如果 from.compareTo(to) > 0 |
clone
public EnumSetE clone()
返回此集合的副本。
覆蓋:
在類 Object 中克隆
返回:
這套副本
分享標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSEnumSet
文章來源:http://fisionsoft.com.cn/article/coheeoo.html


咨詢
建站咨詢
