Share via


CopyOnWriteArrayList 클래스

정의

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

설명

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

일반적으로 비용이 너무 많이 들지만 순회 작업이 변형을 크게 능가할 <>때 대안보다 더>< 효율적일 수 있으며, 순회를 동기화할 수 없거나 동기화하지 않고 동시 스레드 간의 간섭을 배제해야 하는 경우에 유용합니다. "스냅샷" 스타일 반복기 메서드는 반복기가 만들어진 지점에서 배열의 상태에 대한 참조를 사용합니다. 이 배열은 반복기의 수명 동안 변경되지 않으므로 간섭이 불가능하고 반복기가 을 throw ConcurrentModificationException하지 않도록 보장됩니다. 반복기가 만들어진 이후 반복기는 목록에 대한 추가, 제거 또는 변경 내용을 반영하지 않습니다. 반복기 자체에 대한 요소 변경 작업(remove, setadd)은 지원되지 않습니다. 이러한 메서드는 을 throw합니다 UnsupportedOperationException.

를 비롯한 null모든 요소가 허용됩니다.

메모리 일관성 효과: 다른 동시 컬렉션과 마찬가지로 개체CopyOnWriteArrayList<를 i happen-before</i>> 작업에 배치하기 전에 스레드의 작업은 다른 스레드의 에서 CopyOnWriteArrayList 해당 요소에 대한 액세스 또는 제거 이후에 수행됩니다.

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

1.5에 추가되었습니다.

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

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

생성자

CopyOnWriteArrayList()

빈 목록을 만듭니다.

CopyOnWriteArrayList(ICollection)

컬렉션의 반복기에서 반환되는 순서대로 지정된 컬렉션의 요소를 포함하는 목록을 만듭니다.

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

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

CopyOnWriteArrayList(Object[])

지정된 배열의 복사본을 포함하는 목록을 만듭니다.

속성

Class

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

(다음에서 상속됨 Object)
Handle

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

(다음에서 상속됨 Object)
IsEmpty

이 목록에 요소가 없는 경우 를 반환 true 합니다.

JniIdentityHashCode

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

(다음에서 상속됨 Object)
JniPeerMembers

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

PeerReference

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

(다음에서 상속됨 Object)
ThresholdClass

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

ThresholdType

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

메서드

Add(Int32, Object)

이 목록의 지정된 위치에 지정된 요소를 삽입합니다.

Add(Object)

지정된 요소를 이 목록의 끝에 추가합니다.

AddAll(ICollection)

지정된 컬렉션의 반복기에서 반환되는 순서대로 지정된 컬렉션의 모든 요소를 이 목록의 끝에 추가합니다.

AddAll(Int32, ICollection)

지정된 위치에서 시작하여 지정된 컬렉션의 모든 요소를 이 목록에 삽입합니다.

AddAllAbsent(ICollection)

이 목록에 아직 포함되지 않은 지정된 컬렉션의 모든 요소를 지정된 컬렉션의 반복기에서 반환되는 순서대로 이 목록의 끝에 추가합니다.

AddIfAbsent(Object)

요소가 없으면 를 추가합니다.

Clear()

이 목록에서 모든 요소를 제거합니다.

Clone()

이 목록의 단순 복사본을 반환합니다.

Contains(Object)

이 목록에 지정된 요소가 포함되어 있으면 를 반환 true 합니다.

ContainsAll(ICollection)

이 목록에 지정된 컬렉션의 모든 요소가 포함되어 있으면 를 반환 true 합니다.

Dispose()

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

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

(다음에서 상속됨 Object)
ForEach(IConsumer)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

Get(Int32)

추가할 항목

GetHashCode()

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

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

추가할 항목

IndexOf(Object, Int32)

이 목록에서 지정된 요소의 첫 번째 항목의 인덱스를 반환하고 에서 index앞으로 검색하거나 요소를 찾을 수 없는 경우 -1을 반환합니다.

Iterator()

이 목록의 요소에 대한 반복기를 적절한 순서로 반환합니다.

JavaFinalize()

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

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

추가할 항목

LastIndexOf(Object, Int32)

이 목록에서 마지막으로 발생한 지정된 요소의 인덱스를 반환하고 에서 index뒤로 검색하거나 요소를 찾을 수 없는 경우 -1을 반환합니다.

ListIterator()

추가할 항목

ListIterator(Int32)

추가할 항목

Notify()

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

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

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

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

이 목록의 지정된 위치에 있는 요소를 제거합니다.

Remove(Object)

지정된 요소가 있는 경우 이 목록에서 지정된 요소의 첫 번째 항목을 제거합니다.

RemoveAll(ICollection)

이 목록에서 지정된 컬렉션에 포함된 모든 요소를 제거합니다.

RemoveIf(IPredicate)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

ReplaceAll(IUnaryOperator)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

RetainAll(ICollection)

지정된 컬렉션에 포함된 이 목록의 요소만 유지합니다.

Set(Int32, Object)

이 목록의 지정된 위치에 있는 요소를 지정된 요소로 바꿉니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

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

이 목록의 요소 수를 반환합니다.

Sort(IComparator)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

Spliterator()

Spliterator 이 목록의 요소 위에 를 반환합니다.

SubList(Int32, Int32)

, 포함 및 toIndex배타적 간에 fromIndex이 목록의 일부 보기를 반환합니다.

ToArray()

이 목록의 모든 요소가 포함된 배열을 적절한 시퀀스로 반환합니다(첫 번째 요소부터 마지막 요소까지).

ToArray(Object[])

이 목록의 모든 요소를 적절한 시퀀스로 포함하는 배열을 반환합니다(첫 번째 요소부터 마지막 요소까지). 반환된 배열의 런타임 형식은 지정된 배열의 런타임 형식입니다.

ToArray<T>()

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

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

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<.

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

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

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

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

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

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

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

GetJniTypeName(IJavaPeerable)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

ToEnumerable(IIterable)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

ToEnumerable<T>(IIterable)

기본 배열의 java.util.ArrayList 새 복사본을 만들어 모든 변경 작업(add, set등)이 구현되는 스레드로부터 안전한 변형입니다.

적용 대상