Язык

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.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 ISequencedCollection
    interface IRandomAccess
Наследование
Атрибуты
Реализации

Комментарии

Изменение размера реализации List интерфейса с возможностью изменения размера. Реализует все необязательные операции списка и разрешает все элементы, включая null. Помимо реализации List интерфейса, этот класс предоставляет методы для управления размером массива, который используется внутренне для хранения списка. (Этот класс примерно эквивалентен Vector, за исключением того, что он несинхронизирован.)

Операции size, , isEmptyи getsetiteratorlistIterator операции выполняются в постоянное время. Операция add выполняется в амортизированном времени константы, то есть добавление n элементов требует времени O(n). Все остальные операции выполняются в линейном времени (примерно говоря). Константный фактор низкий по сравнению с тем, что для LinkedList реализации.

Каждый ArrayList экземпляр имеет емкость. Емкость — это размер массива, используемого для хранения элементов в списке. Он всегда имеет по крайней мере размер списка. При добавлении элементов в ArrayList его емкость увеличивается автоматически. Сведения о политике роста не указываются за пределами того факта, что добавление элемента имеет постоянные амортизированные затраты на время.

Приложение может увеличить емкость экземпляра перед добавлением большого ArrayList количества элементов с помощью ensureCapacity операции. Это может уменьшить количество добавочных перемещений.

<Обратите>внимание, что эта реализация не синхронизирована.</strong> , если несколько потоков одновременно обращаются к ArrayList экземпляру, а по крайней мере один из потоков изменяет список структурно, он должен быть синхронизирован внешне. (Структурные изменения — это любая операция, которая добавляет или удаляет один или несколько элементов или явно изменяет размер резервного массива; просто установка значения элемента не является структурным изменением.) Обычно это достигается путем синхронизации с некоторым объектом, который естественно инкапсулирует список.

Если такой объект не существует, список должен быть "упакован" с помощью Collections#synchronizedList Collections.synchronizedList метода. Это лучше всего сделать во время создания, чтобы предотвратить случайный несинхронизированный доступ к списку:

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

Итераторы, возвращаемые этим классом #iterator() iterator и #listIterator(int) listIterator методами, являются <em-fail-fast></em>: если список структурно изменяется в любое время после создания итератора, в любом случае, за исключением собственных ListIterator#remove() remove или ListIterator#add(Object) add методов итератора, итератор вызовет ConcurrentModificationExceptionитератор. Таким образом, перед лицом параллельного изменения итератор завершается сбоем быстро и чисто, а не рискуя произвольным, недетерминированным поведением в будущем.

Обратите внимание, что поведение итератора не может быть гарантировано, как правило, невозможно сделать какие-либо жесткие гарантии в присутствии несинхронизированных одновременных изменений. Отработки отказа быстрой итерации создаются ConcurrentModificationException на основе лучших усилий. Поэтому было бы неправильно написать программу, которая зависит от этого исключения для его правильности: поведение итераторов должно использоваться только для обнаружения ошибок.

Этот класс является членом Платформы коллекций Java.

Добавлено в версии 1.2.

Java документации по java.util.ArrayList.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя. Описание
ArrayList()

Создает пустой список с начальной емкостью 10.

ArrayList(ICollection)

Создает список, содержащий элементы указанной коллекции, в том порядке, в котором они возвращаются итератором коллекции.

ArrayList(Int32)

Создает пустой список с указанной начальной емкостью.

ArrayList(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя. Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
First

Добавление

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsEmpty

Добавление

(Унаследовано от AbstractCollection)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
JniPeerMembers

Изменение размера реализации List интерфейса с возможностью изменения размера.

Last

Добавление

ModCount

Количество раз, когда этот список был структурно изменен.

(Унаследовано от AbstractList)
PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя. Описание
Add(Int32, Object)

Добавление

(Унаследовано от AbstractList)
Add(Object)

Добавление

(Унаследовано от AbstractCollection)
AddAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
AddAll(Int32, ICollection)

Добавление

(Унаследовано от AbstractList)
AddFirst(Object)

Добавление

AddLast(Object)

Добавление

Clear()

Добавление

(Унаследовано от AbstractCollection)
Clone()

Возвращает неглубокую копию этого ArrayList экземпляра.

Construct(JniObjectReference, JniObjectReferenceOptions)

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
Contains(Object)

Добавление

(Унаследовано от AbstractCollection)
ContainsAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
EnsureCapacity(Int32)

При необходимости увеличивает емкость этого ArrayList экземпляра, чтобы убедиться, что он может содержать по крайней мере количество элементов, указанных минимальным аргументом емкости.

Equals(Object)

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
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)
RemoveFirst()

Добавление

RemoveIf(IPredicate)

Изменение размера реализации List интерфейса с возможностью изменения размера.

RemoveLast()

Добавление

RemoveRange(Int32, Int32)

Удаляет из этого списка все элементы, индекс которых находится между fromIndex, включающим и toIndexэксклюзивным.

(Унаследовано от AbstractList)
ReplaceAll(IUnaryOperator)

Изменение размера реализации List интерфейса с возможностью изменения размера.

RetainAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
Set(Int32, Object)

Добавление

(Унаследовано от AbstractList)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
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>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
TrimToSize()

Обрезает емкость этого ArrayList экземпляра, чтобы он был текущим размером списка.

UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Изменение размера реализации List интерфейса с возможностью изменения размера.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Изменение размера реализации List интерфейса с возможностью изменения размера.

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Изменение размера реализации List интерфейса с возможностью изменения размера.

ToEnumerable(IIterable)

Возвращает итерацию IEnumerable по JavaIIterable, позволяя foreach использовать LINQ с типами коллекций Java. Каждый элемент маршалируется из своего Java экземпляра в соответствующий управляемый тип.

ToEnumerable<T>(IIterable)

Возвращает итерацию IEnumerable<T> по JavaIIterable, маршалинг каждого элемента Tв . Это позволяет foreach использовать LINQ с типами коллекций Java.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к