Share via


HashSet 클래스

정의

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
    inherit AbstractSet
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface ISet
    interface ICollection
    interface IIterable
상속
파생
특성
구현

설명

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다. 집합의 반복 순서를 보장하지 않습니다. 특히 시간이 지남에 따라 주문이 일정하게 유지된다는 보장은 없습니다. 이 클래스는 요소를 허용합니다 null .

이 클래스는 해시 함수가 버킷 간에 요소를 제대로 분산하는 경우 기본 작업(add, removecontainssize)에 대한 일정한 시간 성능을 제공합니다. 이 집합을 반복하려면 instance 크기(요소 수)와 백업 HashMap instance "용량"(버킷 수)의 합계 HashSet 에 비례하는 시간이 필요합니다. 따라서 반복 성능이 중요한 경우 초기 용량을 너무 높게 설정하지 않는 것이 매우 중요합니다(또는 로드 팩터가 너무 낮음).

<strong>이 구현은 동기화되지 않습니다.</strong> 여러 스레드가 해시 집합에 동시에 액세스하고 하나 이상의 스레드가 집합을 수정하는 경우 외부에서 동기화 되어야 합니다 . 이 작업은 일반적으로 집합을 자연스럽게 캡슐화하는 일부 개체에서 동기화하여 수행됩니다.

이러한 개체가 없으면 메서드를 사용하여 Collections#synchronizedSet Collections.synchronizedSet 집합을 "래핑"해야 합니다. 이는 집합에 대한 실수로 동기화되지 않은 액세스를 방지하기 위해 생성 시 가장 잘 수행됩니다.

Set s = Collections.synchronizedSet(new HashSet(...));

이 클래스의 iterator 메서드에서 반환된 반복기는 장애 조치(fail-fast)입니다. 반복기를 만든 후 언제든지 집합이 수정되면 반복기의 자체 remove 메서드를 통하지 않으면 반복기가 을 ConcurrentModificationExceptionthrow합니다. 따라서 동시 수정에 직면하여 반복기는 나중에 결정되지 않은 시간에 임의적이고 비결정적인 동작을 위험에 빠뜨리지 않고 빠르고 깨끗하게 실패합니다.

반복기의 장애 조치(fail-fast) 동작은 일반적으로 비동기화된 동시 수정이 있을 때 하드 보장을 할 수 없으므로 보장할 수 없습니다. 장애 조치(fail-fast) 반복기는 최선을 다해 throw ConcurrentModificationException 합니다. 따라서 정확성을 위해 이 예외에 의존하는 프로그램을 작성하는 것은 잘못된 것입니다. 반복기의 장애 조치(fail-fast) 동작은 버그를 검색하는 데만 사용해야 합니다.

이 클래스는 Java Collections Framework의 멤버입니다.

1.2에 추가되었습니다.

에 대한 Java 설명서입니다 java.util.HashSet.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

HashSet()

빈 새 집합을 생성합니다. 백업 HashMap instance 기본 초기 용량(16) 및 로드 팩터(0)가 있습니다.

HashSet(ICollection)

지정된 컬렉션의 요소를 포함하는 새 집합을 생성합니다.

HashSet(Int32)

빈 새 집합을 생성합니다. 지원 HashMap instance 지정된 초기 용량과 기본 로드 팩터(0)가 있습니다.

HashSet(Int32, Single)

빈 새 집합을 생성합니다. 백업 HashMap instance 지정된 초기 용량과 지정된 로드 팩터가 있습니다.

HashSet(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
IsEmpty

추가할 항목

(다음에서 상속됨 AbstractCollection)
JniIdentityHashCode

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
JniPeerMembers

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

PeerReference

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Add(Object)

추가할 항목

(다음에서 상속됨 AbstractCollection)
AddAll(ICollection)

추가할 항목

(다음에서 상속됨 AbstractCollection)
Clear()

추가할 항목

(다음에서 상속됨 AbstractCollection)
Clone()

HashSet instance 단순 복사본을 반환합니다. 요소 자체는 복제되지 않습니다.

Contains(Object)

추가할 항목

(다음에서 상속됨 AbstractCollection)
ContainsAll(ICollection)

추가할 항목

(다음에서 상속됨 AbstractCollection)
Dispose()

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
Iterator()

이 집합의 요소에 대한 반복기를 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Remove(Object)

추가할 항목

(다음에서 상속됨 AbstractCollection)
RemoveAll(ICollection)

추가할 항목

(다음에서 상속됨 AbstractCollection)
RetainAll(ICollection)

추가할 항목

(다음에서 상속됨 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
Size()

이 집합의 요소 수(카디널리티)를 반환합니다.

Spliterator()

이 집합의 요소에 <대한 em>late-binding</em> 및 <em>fail-fast</em>Spliterator 을 만듭니다.

ToArray()

추가할 항목

(다음에서 상속됨 AbstractCollection)
ToArray(Object[])

추가할 항목

(다음에서 상속됨 AbstractCollection)
ToArray<T>()

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

GetJniTypeName(IJavaPeerable)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

ToEnumerable(IIterable)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

ToEnumerable<T>(IIterable)

이 클래스는 Set 해시 테이블(실제로 instance)에서 지원되는 인터페이스를 HashMap 구현합니다.

적용 대상