다음을 통해 공유


Collections.SynchronizedCollection(ICollection) 메서드

정의

지정된 컬렉션에서 지원되는 동기화된(스레드로부터 안전한) 컬렉션을 반환합니다.

[Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static System.Collections.ICollection SynchronizedCollection(System.Collections.ICollection c);
[<Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedCollection : System.Collections.ICollection -> System.Collections.ICollection

매개 변수

c
ICollection

동기화된 컬렉션에서 "래핑"할 컬렉션입니다.

반환

지정된 컬렉션의 동기화된 뷰입니다.

특성

설명

지정된 컬렉션에서 지원되는 동기화된(스레드로부터 안전한) 컬렉션을 반환합니다. 직렬 액세스를 보장하기 위해 반환된 컬렉션을 통해 백업 컬렉션에 대한 강력한>모든</강력한> 액세스를 수행하는 것이 중요<합니다.

사용자가 반환된 컬렉션을 통해 IteratorSpliterator 트래버스할 때 수동으로 동기화하거나 Stream다음을 수행해야 합니다.

Collection c = Collections.synchronizedCollection(myCollection);
                ...
             synchronized (c) {
                 Iterator i = c.iterator(); // Must be in the synchronized block
                 while (i.hasNext())
                    foo(i.next());
             }

이 조언을 따르지 않으면 비결정적 동작이 발생할 수 있습니다.

반환된 컬렉션은 백업 컬렉션으로 hashCodeequals 작업을 전달하지 않지만 's equals 및 hashCode 메서드를 사용합니다Object. 백업 컬렉션이 집합 또는 목록인 경우 이러한 작업의 계약을 보존하는 데 필요합니다.

지정된 컬렉션을 serialize할 수 있는 경우 반환된 컬렉션을 serialize할 수 있습니다.

에 대한 java.util.Collections.synchronizedCollection(java.util.Collection<T>)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상