|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.AbstractCollection <E>
java.util.AbstractSet <E>
java.util.EnumSet<E>
public abstract class EnumSet<E extends Enum <E>>
enum 형으로 사용하기 위한 특수한 Set
구현입니다. enum 세트내의 요소는 모두, 세트의 작성시에, 지정된 단일의 enum 형으로부터 명시적 또는 암묵적으로 생성될 필요가 있습니다. enum 세트는, 내부에서는 비트 벡터로서 표현됩니다. 이 표현은, 매우 간결하고 효율적입니다. 이 클래스의 조작에 필요한 영역이나 시간은, 종래의 int 베이스의 「비트 플래그」에 대한 고품질 또한 형태 보증된 대체로서 충분히 사용 가능합니다. 인수도 enum 세트이면, 일괄 오퍼레이션 (containsAll 나 retainAll 등)조차 매우 고속으로 실행할 수 있습니다.
iterator 메소드에 의해 반환되는 반복자는, 요소를 「자연 순서」(enum 정수의 선언된 순서)에 따라 횡단(traverse) 합니다. 반환되는 반복자는, 「약일관성」을 보관 유지합니다. 이것들이 ConcurrentModificationException
를 throw 할 것은 없습니다. 또, 반복의 진행중에 실행되는 세트에의 변경의 영향을 표시하는 일도, 비표시로 하는 일도 가능합니다.
null 요소는 허가되지 않습니다. null 요소를 삽입하려고 하면(자),NullPointerException
가 throw 됩니다. 다만, null 요소의 존재를 테스트하거나 삭제를 시도하는 경우는 정상적으로 기능합니다.
대부분의 컬렉션 구현과 같이,EnumSet 는 동기 되지 않습니다. 복수의 thread가 동시에 enum 세트에 액세스 해, 그러한 thread의 적어도 1 개(살)이 세트를 변경하는 경우에는, 외부에서 동기를 잡을 필요가 있습니다. 일반적으로, 이것은, enum 세트를 자연스럽게 캡슐화하는 몇개의 객체로 동기를 잡는 것에 의해 달성됩니다. 이런 종류의 객체가 없는 경우에는,Collections.synchronizedSet(java.util.Set
메소드를 사용해 세트를 「랩」할 필요가 있습니다. 이것은, 우발적인 비동기 액세스를 막기 위해서(때문에), 작성시에 실시하는 것이 최적입니다.
Set<MyEnum> s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class));
구현상의 주의:기본의 오퍼레이션은 모두 일정시간에 실행됩니다. 이것들은 일반적으로,HashSet
의 대응하는 오퍼레이션보다 쭉 고속 (다만 보증외)에 동작합니다. 인수도 enum 세트이면, 일괄 오퍼레이션조차 일정시간에 실행됩니다.
이 클래스는,Java Collections Framework 의 멤버입니다.
EnumMap
메소드의 개요 | ||
---|---|---|
static
|
allOf (Class <E> elementType)
지정된 요소형의 모든 요소를 포함한 enum 세트를 작성합니다. |
|
EnumSet <E > |
clone ()
이 세트의 복제를 돌려줍니다. |
|
static
|
complementOf (EnumSet <E> s)
지정된 enum 세트와 같은 요소형을 사용해 enum 세트를 작성합니다. |
|
static
|
copyOf (Collection <E> c)
지정된 컬렉션으로부터 초기화된 enum 세트를 작성합니다. |
|
static
|
copyOf (EnumSet <E> s)
지정된 enum 세트와 같은 요소형을 사용해, enum 세트를 작성합니다. |
|
static
|
noneOf (Class <E> elementType)
지정된 요소형을 사용해 빈 상태(empty)의 enum 세트를 작성합니다. |
|
static
|
of (E e)
지정된 요소를 최초로 포함한 enum 세트를 작성합니다. |
|
static
|
of (E first,
E... rest)
지정된 요소가 최초로 포함되는 enum 세트를 작성합니다. |
|
static
|
of (E e1,
E e2)
지정된 요소가 최초로 포함되는 enum 세트를 작성합니다. |
|
static
|
of (E e1,
E e2,
E e3)
지정된 요소가 최초로 포함되는 enum 세트를 작성합니다. |
|
static
|
of (E e1,
E e2,
E e3,
E e4)
지정된 요소가 최초로 포함되는 enum 세트를 작성합니다. |
|
static
|
of (E e1,
E e2,
E e3,
E e4,
E e5)
지정된 요소가 최초로 포함되는 enum 세트를 작성합니다. |
|
static
|
range (E from,
E to)
지정된 2 개의 단 점에 의해 정의되는 범위내의 요소 모든 것을 최초로 포함한 enum 세트를 작성합니다. |
클래스 java.util. AbstractSet 로부터 상속된 메소드 |
---|
equals , hashCode , removeAll |
클래스 java.util. AbstractCollection 로부터 상속된 메소드 |
---|
add , addAll , clear , contains , containsAll , isEmpty , iterator , remove , retainAll , size , toArray , toArray , toString |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
finalize , getClass , notify , notifyAll , wait , wait , wait |
인터페이스 java.util. Set 로부터 상속된 메소드 |
---|
add , addAll , clear , contains , containsAll , isEmpty , iterator , remove , retainAll , size , toArray , toArray |
메소드의 상세 |
---|
public static <E extends Enum <E>> EnumSet <E> noneOf(Class <E> elementType)
elementType
- 이 enum 세트용의 요소형의 클래스 객체
NullPointerException
- elementType 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> allOf(Class <E> elementType)
elementType
- 이 enum 세트용의 요소형의 클래스 객체
NullPointerException
- elementType 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> copyOf(EnumSet <E> s)
s
- 이 enum 세트의 초기화원의 enum 세트
NullPointerException
- s 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> copyOf(Collection <E> c)
copyOf(EnumSet)
와 같은 동작을 합니다. 그 이외의 경우는, 지정된 컬렉션이 1 개 이상의 요소를 포함하고 있을 필요가 있습니다 (신규 enum 세트의 요소형을 판정하기 위해(때문에)).
c
- 이 enum 세트의 초기화원의 컬렉션
IllegalArgumentException
- c 가 EnumSet 인스턴스는 아니고, 요소를 포함하지 않는 경우
NullPointerException
- c 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> complementOf(EnumSet <E> s)
s
- 이 enum 세트의 초기화에 사용하는 보수를 보관 유지하는 enum 세트
NullPointerException
- s 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> of(E e)
e
- 이 세트가 최초로 포함한 요소
NullPointerException
- e 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> of(E e1, E e2)
e1
- 이 세트가 최초로 포함한 요소e2
- 이 세트가 최초로 포함한 다른 요소
NullPointerException
- 파라미터가 null 의 경우public static <E extends Enum <E>> EnumSet <E> of(E e1, E e2, E e3)
e1
- 이 세트가 최초로 포함한 요소e2
- 이 세트가 최초로 포함한 다른 요소e3
- 이 세트가 최초로 포함한 다른 요소
NullPointerException
- 파라미터가 null 의 경우public static <E extends Enum <E>> EnumSet <E> of(E e1, E e2, E e3, E e4)
e1
- 이 세트가 최초로 포함한 요소e2
- 이 세트가 최초로 포함한 다른 요소e3
- 이 세트가 최초로 포함한 다른 요소e4
- 이 세트가 최초로 포함한 다른 요소
NullPointerException
- 파라미터가 null 의 경우public static <E extends Enum <E>> EnumSet <E> of(E e1, E e2, E e3, E e4, E e5)
e1
- 이 세트가 최초로 포함한 요소e2
- 이 세트가 최초로 포함한 다른 요소e3
- 이 세트가 최초로 포함한 다른 요소e4
- 이 세트가 최초로 포함한 다른 요소e5
- 이 세트가 최초로 포함한 다른 요소
NullPointerException
- 파라미터가 null 의 경우public static <E extends Enum <E>> EnumSet <E> of(E first, E... rest)
first
- 이 세트가 최초로 포함한 요소rest
- 세트가 최초로 포함한 나머지의 요소
NullPointerException
- 지정된 요소중 한쪽이 null 또는 rest 가 null 의 경우public static <E extends Enum <E>> EnumSet <E> range(E from, E to)
from
- 범위내의 최초의 요소to
- 범위내의 마지막 요소
NullPointerException
- first 또는 last 가 null 의 경우
IllegalArgumentException
- first.compareTo(last) > 0 의 경우public EnumSet <E > clone()
Object
내의 clone
Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.