W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.util.AbstractCollection<E&
|---|---java.util.AbstractSet<E&
|---|---|---java.util.EnumSet<E&
public abstract class EnumSet<E extends Enum<E>>
extends AbstractSet<E>
implements Cloneable, Serializable
用于枚舉類型的專用 Set 實現(xiàn)。枚舉集合中的所有元素都必須來自一個枚舉類型,該枚舉類型在創(chuàng)建集合時顯式或隱式指定。枚舉集在內部表示為位向量。這種表示非常緊湊和高效。這個類的空間和時間性能應該足夠好,以允許它用作傳統(tǒng)的基于 int 的“位標志”的高質量、類型安全的替代品。如果參數(shù)也是枚舉集,即使批量操作(例如 containsAll 和 retainAll)也應該運行得非??臁?/p>
iterator 方法返回的迭代器以元素的自然順序(聲明枚舉常量的順序)遍歷元素。返回的迭代器是弱一致的:它永遠不會拋出 ConcurrentModificationException 并且它可能會或可能不會顯示迭代正在進行時對集合進行的任何修改的影響。
不允許空元素。嘗試插入空元素將引發(fā) NullPointerException。但是,嘗試測試是否存在空元素或刪除空元素將正常運行。
像大多數(shù)集合實現(xiàn)一樣,EnumSet 是不同步的。如果多個線程同時訪問一個枚舉集,并且至少有一個線程修改了該集,則它應該在外部同步。這通常是通過同步一些自然封裝枚舉集的對象來完成的。如果不存在這樣的對象,則應使用 Collections#synchronizedSet 方法“包裝”該集合。這最好在創(chuàng)建時完成,以防止意外的不同步訪問:
Set<MyEnum> s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class));
實施說明:所有基本操作都在恒定時間內執(zhí)行。 它們很可能(盡管不能保證)比它們的 HashSet 對應物快得多。 如果參數(shù)也是枚舉集,即使批量操作也會在恒定時間內執(zhí)行。
此類是 Java 集合框架的成員。
修飾符和類型 | 方法 | 描述 |
---|---|---|
static <E extends Enum<E>>EnumSet<E> | allOf(Class<E> elementType) | 創(chuàng)建一個枚舉集,其中包含指定元素類型中的所有元素。 |
EnumSetE | clone() | 返回此集合的副本。 |
static <E extends Enum<E>>EnumSet<E> | complementOf(EnumSet<E> s) | 創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含該類型的所有未包含在指定集中的元素。 |
static <E extends Enum<E>>EnumSet<E> | copyOf(Collection<E> c) | 創(chuàng)建從指定集合初始化的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | copyOf(EnumSet<E> s) | 創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含相同的元素(如果有)。 |
static <E extends Enum<E>>EnumSet<E> | noneOf(Class<E> elementType) | 創(chuàng)建具有指定元素類型的空枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | of(E e) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | of(E e1, E e2) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | of(E first, E... rest) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | of(E e1, E e2, E e3) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | of(E e1, E e2, E e3, E e4) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | of(E e1, E e2, E e3, E e4, E e5) | 創(chuàng)建一個最初包含指定元素的枚舉集。 |
static <E extends Enum<E>>EnumSet<E> | range(E from, E to) | 創(chuàng)建一個枚舉集,最初包含由兩個指定端點定義的范圍內的所有元素。 |
從類 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 |
public static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType)
創(chuàng)建具有指定元素類型的空枚舉集。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 集合中元素的類別 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
elementType | 此枚舉集的元素類型的類對象 |
返回:
指定類型的空枚舉集。
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果元素類型為空 |
public static <E extends Enum<E>> EnumSet<E> allOf(Class<E> elementType)
創(chuàng)建一個枚舉集,其中包含指定元素類型中的所有元素。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 集合中元素的類別 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
elementType | 此枚舉集的元素類型的類對象 |
返回:
包含指定類型中所有元素的枚舉集。
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 elementType 為空 |
public static <E extends Enum<E>> EnumSet<E> copyOf(EnumSet<E> s)
創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含相同的元素(如果有)。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 集合中元素的類別 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
s | 從中初始化此枚舉集的枚舉集 |
返回:
指定枚舉集的副本。
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 s 為空 |
public static <E extends Enum<E>> EnumSet<E> copyOf(Collection<E> c)
創(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 為空 |
public static <E extends Enum<E>> EnumSet<E> complementOf(EnumSet<E> s)
創(chuàng)建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含該類型的所有未包含在指定集中的元素。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 枚舉集中元素的類 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
s | 初始化此枚舉集的補碼的枚舉集 |
返回:
此集合中指定集合的補集
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 s 為空 |
public static <E extends Enum<E>> EnumSet<E> of(E e)
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 指定元素和集合的類 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e | 該集合最初要包含的元素 |
返回:
最初包含指定元素的枚舉集
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 e 為空 |
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2)
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 參數(shù)元素和集合的類 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e1 | 該集合最初要包含的元素 |
e2 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果任何參數(shù)為空 |
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3)
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 參數(shù)元素和集合的類 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e1 | 該集合最初要包含的元素 |
e2 | 該集合最初要包含的另一個元素 |
e3 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果任何參數(shù)為空 |
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4)
創(chuàng)建一個最初包含指定元素的枚舉集。 存在此方法的重載以初始化具有一到五個元素的枚舉集。 提供了使用可變參數(shù)功能的第六個重載。 此重載可用于創(chuàng)建最初包含任意數(shù)量元素的枚舉集,但可能比不使用可變參數(shù)的重載運行得更慢。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 參數(shù)元素和集合的類 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e1 | 該集合最初要包含的元素 |
e2 | 該集合最初要包含的另一個元素 |
e3 | 該集合最初要包含的另一個元素 |
e4 | 該集合最初要包含的另一個元素 |
返回:
最初包含指定元素的枚舉集
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果任何參數(shù)為空 |
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4, E e5)
創(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ù)為空 |
@SafeVarargs public static <E extends Enum<E>> EnumSet<E> of(E first, E... rest)
創(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 |
public static <E extends Enum<E>> EnumSet<E> range(E from, E to)
創(chuàng)建一個枚舉集,最初包含由兩個指定端點定義的范圍內的所有元素。 返回的集合將包含端點本身,它們可能相同但不能亂序。
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
E | 參數(shù)元素和集合的類 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
from | 范圍內的第一個元素 |
to | 范圍內的最后一個元素 |
返回:
一個枚舉集,最初包含由兩個指定端點定義的范圍內的所有元素
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 from 或 to 為空 |
IllegalArgumentException | 如果 from.compareTo(to) > 0 |
public EnumSetE clone()
返回此集合的副本。
覆蓋:
在類 Object 中克隆
返回:
這套副本
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: