TreeSet 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
를 NavigableSet
기반으로 하는 구현입니다 TreeMap
.
[Android.Runtime.Register("java/util/TreeSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class TreeSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.INavigableSet
[<Android.Runtime.Register("java/util/TreeSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type TreeSet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface INavigableSet
interface ISortedSet
interface ISet
interface ICollection
interface IIterable
- 상속
- 특성
- 구현
설명
를 NavigableSet
기반으로 하는 구현입니다 TreeMap
. 요소는 사용되는 생성자에 따라 비교 가능한 자연 순서를 사용하거나 Comparator
집합 생성 시 제공된 순서를 사용하여 정렬됩니다.
이 구현은 기본 작업(및contains
)에 대해 보장된 log(add
remove
n) 시간 비용을 제공합니다.
집합에서 유지 관리하는 순서(명시적 비교자가 제공되었는지 여부)는 인터페이스를 올바르게 구현 Set
하는 경우 같음과 일치해야 합니다. (같음과 일치하는 정확한 정의를 참조 Comparable
하거나 Comparator
정의합니다.) 이는 인터페이스가 Set
연산 측면에서 equals
정의되지만 TreeSet
인스턴스가 해당 메서드(또는compare
) 메서드를 사용하여 모든 요소 비교를 compareTo
수행하므로 이 메서드에서 동일한 것으로 간주되는 두 요소는 집합의 관점에서 같기 때문입니다. 집합 의 동작은 순서가 같음과 일치하지 않더라도 잘 정의됩니다. 인터페이스의 Set
일반 계약을 준수하지 못합니다.
<이>구현은 동기화되지 않습니다.</strong> 여러 스레드가 동시에 트리 집합에 액세스하고 하나 이상의 스레드가 집합 을 수정하는 경우 외부에서 동기화되어야 합니다 . 이 작업은 일반적으로 집합을 자연스럽게 캡슐화하는 일부 개체에서 동기화하여 수행됩니다. 이러한 개체가 없으면 메서드를 사용하여 Collections#synchronizedSortedSet Collections.synchronizedSortedSet
집합을 "래핑"해야 합니다. 이는 집합에 대한 실수로 동기화되지 않은 액세스를 방지하기 위해 생성 시 가장 잘 수행됩니다.
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
이 클래스의 iterator
메서드에서 반환된 반복기는 장애 조치(fail-fast)입니다. 반복기를 만든 후 언제든지 집합이 수정되면 반복기의 자체 remove
메서드를 제외한 어떤 방식으로든 반복기가 throwConcurrentModificationException
됩니다. 따라서 동시 수정 시 반복기는 나중에 결정되지 않은 시간에 임의적이고 비결정적인 동작의 위험을 감수하지 않고 신속하고 깔끔하게 실패합니다.
일반적으로 비동기화된 동시 수정이 있는 상태에서는 반복기의 빠른 장애 조치(fail-fast) 동작을 보장할 수 없습니다. 장애 조치(fail-fast) 반복기는 최상의 노력으로 throw ConcurrentModificationException
합니다. 따라서 이 예외의 정확성 에 의존하는 프로그램을 작성하는 것은 잘못된 일입니다. 반복기의 장애 조치(fail-fast) 동작은 버그를 감지하는 데만 사용해야 합니다.
이 클래스는 Java Collections Framework의 멤버입니다.
1.2에 추가되었습니다.
에 대한 java.util.TreeSet
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
생성자
TreeSet() |
요소의 자연 순서에 따라 정렬된 비어 있는 새 트리 집합을 생성합니다. |
TreeSet(ICollection) |
해당 요소의 자연 순서에 따라 정렬된 지정된 컬렉션의 요소를 포함하는 새 트리 집합을 생성합니다. |
TreeSet(IComparator) |
지정된 비교자에 따라 정렬된 비어 있는 새 트리 집합을 생성합니다. |
TreeSet(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
TreeSet(ISortedSet) |
지정된 정렬된 집합과 동일한 순서를 사용하여 동일한 요소를 포함하는 새 트리 집합을 생성합니다. |
속성
Class |
이 |
Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
IsEmpty |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
JniIdentityHashCode |
를 |
JniPeerMembers |
를 |
PeerReference |
를 |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
메서드
Add(Object) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
AddAll(ICollection) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
Ceiling(Object) |
1에 추가되었습니다. |
Clear() |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
Clone() |
이 |
Comparator() |
이 |
Contains(Object) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
ContainsAll(ICollection) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
DescendingIterator() |
이 집합의 요소에 대한 반복기를 내림차순으로 반환합니다. |
DescendingSet() |
이 집합에 포함된 요소의 역순 보기를 반환합니다. |
Dispose() |
를 |
Dispose(Boolean) |
를 |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
First() |
이 집합의 첫 번째 요소를 반환합니다. |
Floor(Object) |
1에 추가되었습니다. |
GetHashCode() |
개체에 대한 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
HeadSet(Object, Boolean) |
를 |
HeadSet(Object) |
를 |
Higher(Object) |
1에 추가되었습니다. |
Iterator() |
이 집합의 요소에 대한 반복기를 오름차순으로 반환합니다. |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Last() |
이 집합의 마지막 요소를 반환합니다. |
Lower(Object) |
1에 추가되었습니다. |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
PollFirst() |
1에 추가되었습니다. |
PollLast() |
1에 추가되었습니다. |
Remove(Object) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
RemoveAll(ICollection) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
RetainAll(ICollection) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
Size() |
이 집합의 요소 수(카디널리티)를 반환합니다. |
Spliterator() |
<em>"Spliterator를 만듭니다. |
SubSet(Object, Boolean, Object, Boolean) |
를 |
SubSet(Object, Object) |
를 |
TailSet(Object, Boolean) |
를 |
TailSet(Object) |
를 |
ToArray() |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
ToArray(Object[]) |
추가할 수 있습니다. (다음에서 상속됨 AbstractCollection) |
ToArray<T>() |
를 |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterFromRuntime() |
를 |
Wait() |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.> (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IJavaPeerable.Disposed() |
를 |
IJavaPeerable.DisposeUnlessReferenced() |
를 |
IJavaPeerable.Finalized() |
를 |
IJavaPeerable.JniManagedPeerState |
를 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
를 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
를 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
를 |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
를 |
GetJniTypeName(IJavaPeerable) |
를 |
ToEnumerable(IIterable) |
를 |
ToEnumerable<T>(IIterable) |
를 |