Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов сохранен в этом набореpublic class CopyOnWriteArrayList<E> extends Object implements List<E>, RandomAccess, Cloneable, Serializable
ArrayList
в котором все изменчивые операции (add, set, и так далее) реализуются, делая новую копию базового массива. Это является обычно слишком дорогостоящим, но может быть более эффективным чем альтернативы, когда операции обхода значительно превосходят численностью мутации, и полезно, когда Вы не можете или не хотеть синхронизировать обходы, все же должен устранить интерференцию среди параллельных потоков. Стиль "снимка" iterator метод использует ссылку на состояние массива в точке, что iterator создавался. Этот массив никогда не изменяется во время времени жизни iterator, столь интерференционный невозможно, и iterator, как гарантируют, не бросит ConcurrentModificationException. iterator не будет отражать дополнения, удаления, или изменяется на список, так как iterator создавался. Изменяющие элемент операции на iterators непосредственно (remove, set, и add) не поддерживаются. Эти методы бросают UnsupportedOperationException.
Все элементы разрешаются, включая null.
Эффекты непротиворечивости памяти: Как с другими параллельными наборами, действиями в потоке до размещения объекта в a CopyOnWriteArrayList
произойдите - перед действиями, последующими за доступом или удалением того элемента от CopyOnWriteArrayList
в другом потоке.
Этот class является элементом Платформы Наборов Java.
Конструктор и Описание |
---|
CopyOnWriteArrayList()
Создает пустой список.
|
CopyOnWriteArrayList(Collection<? extends E> c)
Создает список, содержащий элементы указанного набора, в порядке, они возвращаются iterator набора.
|
CopyOnWriteArrayList(E[] toCopyIn)
Создает список, содержащий копию данного массива.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
add(E e)
Добавляет указанный элемент до конца этого списка.
|
void |
add(int index, E element)
Вставляет указанный элемент в указанной позиции в этом списке.
|
boolean |
addAll(Collection<? extends E> c)
Добавляет все элементы в указанном наборе до конца этого списка, в порядке, что они возвращаются iterator указанного набора.
|
boolean |
addAll(int index, Collection<? extends E> c)
Вставляет все элементы в указанном наборе в этот список, запускающийся в указанной позиции.
|
int |
addAllAbsent(Collection<? extends E> c)
Добавляет все элементы в указанном наборе, которые уже не содержатся в этом списке, до конца этого списка, в порядке, что они возвращаются iterator указанного набора.
|
boolean |
addIfAbsent(E e)
Добавляет элемент, если не существующий.
|
void |
clear()
Удаляет все элементы от этого списка.
|
Объект |
clone()
Возвращает мелкую копию этого списка.
|
boolean |
contains(Object o)
true возвратов, если этот список содержит указанный элемент.
|
boolean |
containsAll(Collection<?> c)
true возвратов, если этот список содержит все элементы указанного набора.
|
boolean |
equals(Object o)
Сравнивает указанный объект с этим списком для равенства.
|
void |
forEach(Consumer<? super E> action)
Выполняет данное действие на содержании
Iterable , в порядке элементы происходят, выполняя итерации, пока все элементы не были обработаны, или действие выдает исключение. |
E |
get(int index)
Возвращает элемент в указанной позиции в этом списке.
|
int |
hashCode()
Возвращает значение хэш-кода для этого списка.
|
int |
indexOf(E e, int index)
Возвращает индексирование первого возникновения указанного элемента в этом списке, ища вперед от index, или возвращается-1, если элемент не находится.
|
int |
indexOf(Object o)
Возвращает индексирование первого возникновения указанного элемента в этом списке, или-1, если этот список не содержит элемент.
|
boolean |
isEmpty()
true возвратов, если этот список не содержит элементов.
|
Iterator<E> |
iterator()
Возвращает iterator по элементам в этом списке в надлежащей последовательности.
|
int |
lastIndexOf(E e, int index)
Возвращает индексирование последнего вхождения указанного элемента в этом списке, ища назад от index, или возвращается-1, если элемент не находится.
|
int |
lastIndexOf(Object o)
Возвращает индексирование последнего вхождения указанного элемента в этом списке, или-1, если этот список не содержит элемент.
|
ListIterator<E> |
listIterator()
Возвращает список iterator по элементам в этом списке (в надлежащей последовательности).
|
ListIterator<E> |
listIterator(int index)
Возвращает список iterator по элементам в этом списке (в надлежащей последовательности), запускаясь в указанной позиции в списке.
|
E |
remove(int index)
Удаляет элемент в указанной позиции в этом списке.
|
boolean |
remove(Object o)
Удаляет первое возникновение указанного элемента от этого списка, если это присутствует.
|
boolean |
removeAll(Collection<?> c)
Удаляет из этого списка все его элементы, которые содержатся в указанном наборе.
|
boolean |
removeIf(Predicate<? super E> filter)
Удаляет все элементы этого набора, которые удовлетворяют данный предикат.
|
void |
replaceAll(UnaryOperator<E> operator)
Замены каждый элемент этого списка с результатом применения оператора к тому элементу.
|
boolean |
retainAll(Collection<?> c)
Сохраняет только элементы в этом списке, которые содержатся в указанном наборе.
|
E |
set(int index, E element)
Заменяет элемент в указанной позиции в этом списке с указанным элементом.
|
int |
size()
Возвращает число элементов в этом списке.
|
void |
sort(Comparator<? super E> c)
Сортирует этот список, используя предоставленный
Comparator сравнить элементы. |
List<E> |
subList(int fromIndex, int toIndex)
Возвращает представление части этого списка между fromIndex, включительно, и toIndex, монопольным.
|
Объект[] |
toArray()
Возвращает массив, содержащий все элементы в этом списке в надлежащей последовательности (от сначала, чтобы продлиться элемент).
|
<T> T[] |
toArray(T[] a)
Возвращает массив, содержащий все элементы в этом списке в надлежащей последовательности (от сначала, чтобы продлиться элемент); тип времени выполнения возвращенного массива является типом указанного массива.
|
Строка |
toString()
Возвращает строковое представление этого списка.
|
finalize, getClass, notify, notifyAll, wait, wait, wait
spliterator
parallelStream, stream
public CopyOnWriteArrayList()
public CopyOnWriteArrayList(Collection<? extends E> c)
c
- набор первоначально сохраненных элементовNullPointerException
- если указанный набор является нулемpublic CopyOnWriteArrayList(E[] toCopyIn)
toCopyIn
- массив (копия этого массива используется в качестве внутреннего массива),NullPointerException
- если указанный массив является нулемpublic int size()
public boolean isEmpty()
public boolean contains(Object o)
public int indexOf(Object o)
public int indexOf(E e, int index)
e
- элемент, чтобы искатьindex
- индексируйте, чтобы начать искать отIndexOutOfBoundsException
- если указанные индексируют, отрицательноpublic int lastIndexOf(Object o)
lastIndexOf
в интерфейсе List<E>
o
- элемент, чтобы искатьpublic int lastIndexOf(E e, int index)
e
- элемент, чтобы искатьindex
- индексируйте, чтобы начать искать назад отIndexOutOfBoundsException
- если указанные индексируют, больше чем или равен текущему размеру этого спискаpublic Object clone()
public Object[] toArray()
Возвращенный массив будет "безопасен" в этом, никакие ссылки на него не сохраняются этим списком. (Другими словами этот метод должен выделить новый массив). Вызывающая сторона таким образом свободна изменить возвращенный массив.
Этот метод действует как мост между основанными на массиве и основанными на наборе API.
toArray
в интерфейсе Collection<E>
toArray
в интерфейсе List<E>
Arrays.asList(Object[])
public <T> T[] toArray(T[] a)
Если этот список помещается в указанный массив с комнатой, чтобы сэкономить (то есть, у массива есть больше элементов чем этот список), элемент в массиве сразу после конца списка устанавливается в null. (Это полезно в определении длины этого списка, только если вызывающая сторона знает, что этот список не содержит нулевых элементов.)
Как toArray()
метод, этот метод действует как мост между основанными на массиве и основанными на наборе API. Далее, этот метод позволяет точное управление типом времени выполнения выходного массива, и, при определенных обстоятельствах, может использоваться, чтобы сохранить затраты выделения.
Предположите, что x является списком, который, как известно, содержал только строки. Следующий код может использоваться, чтобы вывести список в недавно выделенный массив String:
String[] y = x.toArray(new String[0]);
Отметьте, что toArray(new Object[0]) идентичен в функции toArray().toArray
в интерфейсе Collection<E>
toArray
в интерфейсе List<E>
a
- массив, в который должны быть сохранены элементы списка, если это является достаточно большим; иначе, новый массив того же самого типа времени выполнения выделяется с этой целью.ArrayStoreException
- если тип времени выполнения указанного массива не является супертипом типа времени выполнения каждого элемента в этом спискеNullPointerException
- если указанный массив является нулемpublic E get(int index)
get
в интерфейсе List<E>
index
- индексируйте элемента, чтобы возвратитьсяIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index >= size())public E set(int index, E element)
set
в интерфейсе List<E>
index
- индексируйте элемента, чтобы заменитьelement
- элемент, который будет сохранен в указанной позицииIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index >= size())public boolean add(E e)
add
в интерфейсе Collection<E>
add
в интерфейсе List<E>
e
- элемент, который будет добавлен к этому спискуCollection.add(E)
)public void add(int index, E element)
add
в интерфейсе List<E>
index
- индексируйте, в котором должен быть вставлен указанный элементelement
- элемент, который будет вставленIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index > size())public E remove(int index)
remove
в интерфейсе List<E>
index
- индексирование элемента, который будет удаленIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index >= size())public boolean remove(Object o)
public boolean addIfAbsent(E e)
e
- элемент, который будет добавлен к этому списку, если отсутствующийpublic boolean containsAll(Collection<?> c)
containsAll
в интерфейсе Collection<E>
containsAll
в интерфейсе List<E>
c
- набор, который будет проверен на включение в этом спискеNullPointerException
- если указанный набор является нулемcontains(Object)
public boolean removeAll(Collection<?> c)
removeAll
в интерфейсе Collection<E>
removeAll
в интерфейсе List<E>
c
- набор, содержащий элементы, которые будут удалены из этого спискаClassCastException
- если class элемента этого списка является несовместимым с указанным (дополнительным) наборомNullPointerException
- если этот список содержит нулевой элемент, и указанный набор не разрешает нулевые (дополнительные) элементы, или если указанный набор является нулемremove(Object)
public boolean retainAll(Collection<?> c)
retainAll
в интерфейсе Collection<E>
retainAll
в интерфейсе List<E>
c
- набор, содержащий элементы, которые будут сохранены в этом спискеClassCastException
- если class элемента этого списка является несовместимым с указанным (дополнительным) наборомNullPointerException
- если этот список содержит нулевой элемент, и указанный набор не разрешает нулевые (дополнительные) элементы, или если указанный набор является нулемremove(Object)
public int addAllAbsent(Collection<? extends E> c)
c
- набор, содержащий элементы, которые будут добавлены к этому спискуNullPointerException
- если указанный набор является нулемaddIfAbsent(Object)
public void clear()
public boolean addAll(Collection<? extends E> c)
addAll
в интерфейсе Collection<E>
addAll
в интерфейсе List<E>
c
- набор, содержащий элементы, которые будут добавлены к этому спискуNullPointerException
- если указанный набор является нулемadd(Object)
public boolean addAll(int index, Collection<? extends E> c)
addAll
в интерфейсе List<E>
index
- индексируйте, в котором можно вставить первый элемент от указанного набораc
- набор, содержащий элементы, которые будут добавлены к этому спискуIndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index > size())NullPointerException
- если указанный набор является нулемadd(int,Object)
public String toString()
String.valueOf(Object)
.public boolean equals(Object o)
true
если указанный объект является тем же самым объектом как этот объект, или если это также a List
и последовательность элементов, возвращенных iterator по указанному списку, является тем же самым как последовательностью, возвращенной iterator по этому списку. Эти две последовательности, как полагают, являются тем же самым, если у них есть та же самая длина, и соответствующие элементы в той же самой позиции в последовательности равны. Два элемента e1
и e2
считаются равными если (e1==null ? e2==null : e1.equals(e2))
.equals
в интерфейсе Collection<E>
equals
в интерфейсе List<E>
equals
в class Object
o
- объект, который будет сравнен для равенства с этим спискомtrue
если указанный объект равен этому спискуObject.hashCode()
, HashMap
public int hashCode()
Эта реализация использует определение в List.hashCode()
.
hashCode
в интерфейсе Collection<E>
hashCode
в интерфейсе List<E>
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public Iterator<E> iterator()
Возвращенный iterator обеспечивает снимок состояния списка, когда iterator был создан. Никакая синхронизация не необходима, пересекая iterator. iterator НЕ поддерживает метод remove.
public ListIterator<E> listIterator()
Возвращенный iterator обеспечивает снимок состояния списка, когда iterator был создан. Никакая синхронизация не необходима, пересекая iterator. iterator НЕ поддерживает remove, методы set ИЛИ add.
listIterator
в интерфейсе List<E>
public ListIterator<E> listIterator(int index)
next
. Начальный вызов previous
возвратился бы элемент с указанным индексируют минус один. Возвращенный iterator обеспечивает снимок состояния списка, когда iterator был создан. Никакая синхронизация не необходима, пересекая iterator. iterator НЕ поддерживает remove, методы set ИЛИ add.
listIterator
в интерфейсе List<E>
index
- индексируйте первого элемента, который будет возвращен из списка iterator (звонком next
)IndexOutOfBoundsException
- если индексирование испытывает недостаток диапазона (index < 0 || index > size()
)public List<E> subList(int fromIndex, int toIndex)
Семантика списка, возвращенного этим методом, становится неопределенной, если отступающий список (то есть, этот список) изменяются всегда кроме через возвращенный список.
subList
в интерфейсе List<E>
fromIndex
- низкая конечная точка (включительно) подспискаtoIndex
- высокая конечная точка (монопольная) из подспискаIndexOutOfBoundsException
- поскольку недопустимая конечная точка индексирует значение (fromIndex < 0 || toIndex > size || fromIndex > toIndex)public void forEach(Consumer<? super E> action)
Iterable
Iterable
, в порядке элементы происходят, выполняя итерации, пока все элементы не были обработаны, или действие выдает исключение. Ошибки или исключения на этапе выполнения, брошенные действием, передаются к вызывающей стороне.public void sort(Comparator<? super E> c)
List
Comparator
сравнить элементы.sort
в интерфейсе List<E>
c
- Comparator
используемый, чтобы сравнить элементы списка. A null
значение указывает, что естественное упорядочивание элементов должно использоватьсяpublic boolean removeIf(Predicate<? super E> filter)
Collection
removeIf
в интерфейсе Collection<E>
filter
- предикат, который возвращается true
для элементов, которые будут удаленыtrue
если какие-либо элементы были удаленыpublic void replaceAll(UnaryOperator<E> operator)
List
replaceAll
в интерфейсе List<E>
operator
- оператор, чтобы примениться к каждому элементу
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92