Share via


ArrayList 클래스

정의

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

설명

인터페이스의 크기 조정 가능한 배열 구현입니다 List . 모든 선택적 목록 작업을 구현하고 를 비롯한 null모든 요소를 허용합니다. 인터페이스를 구현하는 List 것 외에도 이 클래스는 내부적으로 목록을 저장하는 데 사용되는 배열의 크기를 조작하는 메서드를 제공합니다. (이 클래스는 비동기화되지 않는다는 점을 제외하고 와 거의 동일합니다 Vector.)

size, , isEmpty, getset, iteratorlistIterator 작업은 일정한 시간에 실행됩니다. 연산은 add분할 상환된 상수 시간에 실행됩니다. 즉, n 요소를 추가하려면 O(n) 시간이 필요합니다. 다른 모든 작업은 선형 시간으로 실행됩니다(대략적으로 말). 상수 계수는 구현에 비해 낮습니다 LinkedList .

ArrayList instance 용량이 있습니다. 용량은 목록에 요소를 저장하는 데 사용되는 배열의 크기입니다. 항상 목록 크기만큼 큽니다. 요소가 ArrayList에 추가되면 해당 용량이 자동으로 증가합니다. 증가 정책의 세부 정보는 요소를 추가하는 데 일정한 분할 상환 시간 비용이 있다는 사실 외에는 지정되지 않습니다.

애플리케이션은 작업을 사용하여 많은 수의 ArrayList 요소를 추가하기 전에 instance 용량을 ensureCapacity 늘릴 수 있습니다. 이렇게 하면 증분 재할당의 양이 줄어들 수 있습니다.

<strong>이 구현은 동기화되지 않습니다.</strong> 여러 스레드가 ArrayList 동시에 instance 액세스하고 하나 이상의 스레드가 목록을 구조적으로 수정하는 경우 외부에서 동기화해야 합니다. 구조 수정은 하나 이상의 요소를 추가하거나 삭제하거나 지원 배열의 크기를 명시적으로 조정하는 작업입니다. 단지 요소의 값을 설정하는 것은 구조적 수정이 아닙니다. 이 작업은 일반적으로 목록을 자연스럽게 캡슐화하는 일부 개체에서 동기화하여 수행됩니다.

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

List list = Collections.synchronizedList(new ArrayList(...));

<p id="fail-fast"> 이 클래스의 #iterator() iterator#listIterator(int) listIterator 메서드에서 반환된 반복기는 em>fail-fast</em>입니다<. 반복기가 생성된 후 언제든지 목록이 구조적으로 수정되면 반복기의 자체 ListIterator#remove() remove 또는 ListIterator#add(Object) add 메서드를 통하지 않으면 반복기가 을 ConcurrentModificationExceptionthrow합니다. 따라서 동시 수정에 직면하여 반복기는 나중에 결정되지 않은 시간에 임의적이고 비결정적인 동작을 위험에 빠뜨리지 않고 빠르고 깨끗하게 실패합니다.

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

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

1.2에 추가되었습니다.

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

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

생성자

ArrayList()

초기 용량이 10인 빈 목록을 생성합니다.

ArrayList(ICollection)

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

ArrayList(Int32)

지정된 초기 용량을 사용하여 빈 목록을 생성합니다.

ArrayList(IntPtr, JniHandleOwnership)

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

속성

Class

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

(다음에서 상속됨 Object)
Handle

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

(다음에서 상속됨 Object)
IsEmpty

추가할 항목

(다음에서 상속됨 AbstractCollection)
JniIdentityHashCode

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

(다음에서 상속됨 Object)
JniPeerMembers

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

ModCount

이 목록이 구조적으로 수정된 횟수입니다.

(다음에서 상속됨 AbstractList)
PeerReference

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

(다음에서 상속됨 Object)
ThresholdClass

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

ThresholdType

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

메서드

Add(Int32, Object)

추가할 항목

(다음에서 상속됨 AbstractList)
Add(Object)

추가할 항목

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

추가할 항목

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

추가할 항목

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

추가할 항목

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

ArrayList instance 단순 복사본을 반환합니다.

Contains(Object)

추가할 항목

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

추가할 항목

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

필요한 경우 이 ArrayList instance 용량을 늘려 최소 용량 인수에 지정된 요소 수를 최소한으로 유지할 수 있도록 합니다.

Equals(Object)

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

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

Get(Int32)

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

GetHashCode()

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

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

추가할 항목

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

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

(다음에서 상속됨 AbstractList)
JavaFinalize()

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

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

추가할 항목

(다음에서 상속됨 AbstractList)
ListIterator()

추가할 항목

(다음에서 상속됨 AbstractList)
ListIterator(Int32)

추가할 항목

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

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

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

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

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

추가할 항목

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

추가할 항목

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

추가할 항목

(다음에서 상속됨 AbstractCollection)
RemoveIf(IPredicate)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

RemoveRange(Int32, Int32)

인덱스가 , 포함 및 toIndex, 전용인 fromIndex모든 요소를 이 목록에서 제거합니다.

(다음에서 상속됨 AbstractList)
ReplaceAll(IUnaryOperator)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

RetainAll(ICollection)

추가할 항목

(다음에서 상속됨 AbstractCollection)
Set(Int32, Object)

추가할 항목

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

Handle 속성을 설정합니다.

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

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

Sort(IComparator)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

Spliterator()

이 목록의 <요소 위에 em>late-binding</em> 및 <em>fail-fast</em>Spliterator 을 만듭니다.

SubList(Int32, Int32)

추가할 항목

(다음에서 상속됨 AbstractList)
ToArray()

추가할 항목

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

추가할 항목

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

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

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

ArrayList instance 용량을 목록의 현재 크기로 조정합니다.

UnregisterFromRuntime()

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

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

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

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

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

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

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

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

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

GetJniTypeName(IJavaPeerable)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

ToEnumerable(IIterable)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

ToEnumerable<T>(IIterable)

인터페이스의 크기 조정 가능한 배열 구현입니다 List .

적용 대상