|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.AbstractCollection <E>
java.util.AbstractSet <E>
java.util.concurrent.CopyOnWriteArraySet<E>
E
- 컬렉션내에 존재하는 요소의 형태public class CopyOnWriteArraySet<E>
모든 조작으로 내부 CopyOnWriteArrayList
를 사용하는 Set
. 이 때문에, 같은 기본 프로퍼티이 공유됩니다.
사용예. 다음의 코드예에서는, copy-on-write 설정을 사용해, 상태가 갱신되었을 때에 특정의 액션을 실행하는 Handler 객체세트를 관리합니다.
class Handler { void handle(); ... } class X { private final CopyOnWriteArraySet<Handler> handlers = new CopyOnWriteArraySet<Handler>(); public void addHandler(Handler h) { handlers.add(h); } private long internalState; private synchronized void changeState() { internalState = ...; } public void update() { changeState(); for (Handler handler :handlers) handler.handle(); } }
이 클래스는,Java Collections Framework 의 멤버입니다.
CopyOnWriteArrayList
,
직렬화 된 형식 생성자 의 개요 | |
---|---|
CopyOnWriteArraySet ()
빈 상태(empty)세트를 작성합니다. |
|
CopyOnWriteArraySet (Collection <? extends E > c)
지정된 컬렉션의 요소 모든 것을 포함한 세트를 작성합니다. |
메소드의 개요 | ||
---|---|---|
boolean |
add (E e)
지정된 요소가 이 세트의 요소로서 존재하지 않는 경우에, 그 요소를 세트에 추가합니다. |
|
boolean |
addAll (Collection <? extends E > c)
지정된 컬렉션의 모든 요소에 대해, 그 요소가 이 세트내에 없는 경우, 세트에 추가합니다. |
|
void |
clear ()
모든 요소를 세트로부터 삭제합니다. |
|
boolean |
contains (Object o)
세트가, 지정된 요소를 보관 유지하고 있는 경우에 true 를 돌려줍니다. |
|
boolean |
containsAll (Collection <? > c)
지정된 컬렉션의 모든 요소가 세트내에 있는 경우에 true 를 돌려줍니다. |
|
boolean |
equals (Object o)
지정된 객체가 세트와 같은가 어떤가를 비교합니다. |
|
boolean |
isEmpty ()
세트가 요소를 1 개나 보관 유지하고 있지 않는 경우에 true 를 돌려줍니다. |
|
Iterator <E > |
iterator ()
이 세트에 포함되는 각 요소에 대한 반복자를, 이러한 요소가 추가된 순서로 돌려줍니다. |
|
boolean |
remove (Object o)
지정된 요소가 이 세트에 존재하는 경우에, 요소를 세트로부터 삭제합니다. |
|
boolean |
removeAll (Collection <? > c)
세트로부터, 지정된 컬렉션내에 보관 유지 떠날 수 있어 모든 요소를 삭제합니다. |
|
boolean |
retainAll (Collection <? > c)
지정된 컬렉션내에 보관 유지되고 있는, 세트내의 요소만을 보관 유지합니다. |
|
int |
size ()
이 세트중의 요소의 수를 돌려줍니다. |
|
Object [] |
toArray ()
세트내의 모든 요소가 포함되고 있는 배열을 돌려줍니다. |
|
|
toArray (T[] a)
세트내의 모든 요소를 포함하고 있는 배열을 돌려줍니다. |
클래스 java.util. AbstractSet 로부터 상속된 메소드 |
---|
hashCode |
클래스 java.util. AbstractCollection 로부터 상속된 메소드 |
---|
toString |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public CopyOnWriteArraySet()
public CopyOnWriteArraySet(Collection <? extends E > c)
c
- 초기 상태로 포함한 요소의 컬렉션
NullPointerException
- 지정된 컬렉션이 null 인 경우메소드의 상세 |
---|
public int size()
Collection <E >
내의 size
Set <E >
내의 size
AbstractCollection <E >
내의 size
public boolean isEmpty()
Collection <E >
내의 isEmpty
Set <E >
내의 isEmpty
AbstractCollection <E >
내의 isEmpty
public boolean contains(Object o)
Collection <E >
내의 contains
Set <E >
내의 contains
AbstractCollection <E >
내의 contains
o
- 세트에 있을지 어떨지를 조사하는 요소
public Object [] toArray()
반환되는 배열에의 참조를 세트가 유지하지 않는다고 하는 점으로써, 이 배열은 안전합니다. 즉, 이 메소드는, 세트가 배열에 연동하고 있는 경우에서도 새로운 배열을 할당합니다. 이 때문에, 호출측은, 반환된 배열을 자유롭게 변경할 수 있습니다.
메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다.
Collection <E >
내의 toArray
Set <E >
내의 toArray
AbstractCollection <E >
내의 toArray
public <T> T[] toArray(T[] a)
세트가 지정된 배열에 들어가, 그 배열에 한층 더 여유가 있는 경우 (즉, 배열이 세트보다 많은 요소를 가지는 경우), 그 배열내에서 세트의 끝보다 나머지의 요소는 null 로 설정됩니다. 세트에 null 요소가 없는 것을 호출해 옆이 알고 있는 경우에만, 이 특성을 이용해 세트의 길이를 판단할 수 있습니다.
반복자에 의해 요소가 반환되는 순서를 세트가 보증하는 경우, 이 메소드는 같은 순서로 요소를 돌려주지 않으면 안됩니다.
toArray()
메소드와 같이, 이 메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다. 게다가 이 메소드에서는, 출력 배열의 실행시의 형태를 정확하게 제어할 수 있기 (위해)때문에, 환경에 따라서는 할당의 수고를 억제할 수가 있습니다.
x 가, 캐릭터 라인만으로부터 되는 세트인 것을 알 수 있고 있으면(자) 가정합니다. 다음의 코드를 사용하면(자), 새롭게 할당할 수 있었던 String 의 배열에 세트를 덤프 할 수 있습니다.
String[] y = x.toArray(new String[0]);toArray(new Object[0]) 는, 기능의 점으로써 toArray() 와 동일합니다.
Collection <E >
내의 toArray
Set <E >
내의 toArray
AbstractCollection <E >
내의 toArray
a
- 세트의 요소의 포함처의 배열. 배열의 사이즈가 충분하지 않은 경우는, 같은 실행시의 형태로 새로운 배열이 포함용으로서 할당할 수 있다
ArrayStoreException
- 지정된 배열의 실행시의 형태가, 세트내의 각 요소의 실행시의 형태의 슈퍼타입이 아닌 경우
NullPointerException
- 지정된 배열이 null 인 경우public void clear()
Collection <E >
내의 clear
Set <E >
내의 clear
AbstractCollection <E >
내의 clear
public boolean remove(Object o)
Collection <E >
내의 remove
Set <E >
내의 remove
AbstractCollection <E >
내의 remove
o
- 세트에 존재하면 삭제되는 객체
public boolean add(E e)
Collection <E >
내의 add
Set <E >
내의 add
AbstractCollection <E >
내의 add
e
- 세트에 추가되는 요소
public boolean containsAll(Collection <? > c)
Collection <E >
내의 containsAll
Set <E >
내의 containsAll
AbstractCollection <E >
내의 containsAll
c
- 이 세트에 포함되어 있는지 어떤지를 조사하는 컬렉션
NullPointerException
- 지정된 컬렉션이 null 인 경우contains(Object)
public boolean addAll(Collection <? extends E > c)
Collection <E >
내의 addAll
Set <E >
내의 addAll
AbstractCollection <E >
내의 addAll
c
- 세트에 추가되는 요소를 포함한 컬렉션
NullPointerException
- 지정된 컬렉션이 null 인 경우add(Object)
public boolean removeAll(Collection <? > c)
Collection <E >
내의 removeAll
Set <E >
내의 removeAll
AbstractSet <E >
내의 removeAll
c
- 이 세트로부터 삭제되는 요소를 포함한 컬렉션
ClassCastException
- 이 세트의 요소의 클래스가 지정된 컬렉션과 호환이 아닌 경우 (생략 가능)
NullPointerException
- 이 세트내에 null 요소가 포함되어 지정된 컬렉션이 null 요소를 허가하지 않는 경우 (생략 가능). 또는 지정된 컬렉션이 null 의 경우remove(Object)
public boolean retainAll(Collection <? > c)
Collection <E >
내의 retainAll
Set <E >
내의 retainAll
AbstractCollection <E >
내의 retainAll
c
- 세트로 보관 유지되는 요소를 포함한 컬렉션
ClassCastException
- 이 세트의 요소의 클래스가 지정된 컬렉션과 호환이 아닌 경우 (생략 가능)
NullPointerException
- 이 세트내에 null 요소가 포함되어 지정된 컬렉션이 null 요소를 허가하지 않는 경우 (생략 가능). 또는 지정된 컬렉션이 null 의 경우remove(Object)
public Iterator <E > iterator()
반환되는 반복자는, 반복자의 구축시세트 상태의 snapshot를 제공합니다. 반복자의 traversal중에 동기화는 필요 없습니다. 반복자는,remove 메소드를 지원하지 않습니다.
Iterable <E >
내의 iterator
Collection <E >
내의 iterator
Set <E >
내의 iterator
AbstractCollection <E >
내의 iterator
public boolean equals(Object o)
Set
이기도 해, 지정된 세트로 iterator 에 의해 반환되는 요소가 이 세트로 반복자에 의해 반환되는 요소와 같은 경우,true
를 돌려줍니다. 즉, 이 2 개의 반복자는, 그것들이 같은 수의 요소를 돌려주어, 지정된 세트에 대한 반복자에 의해 반환되는 각 요소 e1
마다, 이 세트에 대한 반복자에 의해 반환된다 (e1==null ? e2==null :e1.equals(e2))
에 해당하는 요소 e2
가 존재하는 경우, 같은 요소를 돌려준다고 보여집니다.
Collection <E >
내의 equals
Set <E >
내의 equals
AbstractSet <E >
내의 equals
o
- 이 세트와 동일한지 어떤지가 비교되는 객체
true
Object.hashCode()
,
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.