Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов в этом спискеpublic interface List<E> extends Collection<E>
В отличие от наборов, списки обычно позволяют двойные элементы. Более формально списки обычно позволяют пар элементов e1 и e2 так, что e1.equals(e2), и они обычно позволяют многократные нулевые элементы, если они позволяют нулевые элементы вообще. Весьма возможно, что кто-то мог бы хотеть реализовать список, который запрещает копии, бросая исключения на этапе выполнения, когда пользователь попытается вставить их, но мы ожидаем, что это использование будет редко.
Интерфейс List помещает дополнительные соглашения, вне определенных в интерфейсе Collection, по контрактам iterator, add, remove, equals, и методов hashCode. Объявления для других наследованных методов также включаются здесь для удобства.
Интерфейс List обеспечивает четыре метода для позиционного (индексированного) доступа, чтобы перечислить элементы. Списки (как массивы Java) являются базируемым нулем. Отметьте, что эти операции могут выполниться вовремя пропорциональный индексному значению для некоторых реализаций (класс LinkedList, например). Таким образом итерация по элементам в списке обычно предпочтительна для индексации через это, если вызывающая сторона не знает реализацию.
Интерфейс List обеспечивает специальный iterator, названный ListIterator, который позволяет вставку элемента и замену, и двунаправленный доступ в дополнение к нормальному функционированию, которое обеспечивает интерфейс Iterator. Метод обеспечивается, чтобы получить список iterator, который запускается в указанной позиции в списке.
Интерфейс List обеспечивает два метода, чтобы искать указанный объект. С точки зрения производительности эти методы должны использоваться с осторожностью. Во многих реализациях они выполнят дорогостоящие линейные поиски.
Интерфейс List обеспечивает два метода, чтобы эффективно вставить и удалить многократные элементы в произвольной точке в списке.
Отметьте: В то время как допустимо для списков содержать себя как элементы, экстремальное предостережение советуется: методы equals И hashCode больше не четко определены в таком списке.
У некоторых реализаций списка есть ограничения на элементы, которые они могут содержать. Например, некоторые реализации запрещают нулевые элементы, и у некоторых есть ограничения на типы их элементов. Попытка добавить неподходящий элемент выдает исключение непроверенное, обычно NullPointerException или ClassCastException. Попытка запросить присутствие неподходящего элемента может выдать исключение, или это может просто возвратить false; некоторые реализации покажут прежнее поведение, и некоторые покажут последнего. Более широко попытка работы на неподходящем элементе, завершение которого не привело бы к вставке неподходящего элемента в список, может выдать исключение, или это может успешно выполниться в опции реализации. Такие исключения отмечаются как "дополнительные" в спецификации для этого интерфейса.
Этот интерфейс является элементом Платформы Наборов Java.
Collection
, Set
, ArrayList
, LinkedList
, Vector
, Arrays.asList(Object[])
, Collections.nCopies(int, Object)
, Collections.EMPTY_LIST
, AbstractList
, AbstractSequentialList
Модификатор и Тип | Метод и Описание |
---|---|
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)
Вставляет все элементы в указанном наборе в этот список в указанной позиции (дополнительная работа).
|
void |
clear()
Удаляет все элементы от этого списка (дополнительная работа).
|
boolean |
contains(Object o)
true возвратов, если этот список содержит указанный элемент.
|
boolean |
containsAll(Collection<?> c)
true возвратов, если этот список содержит все элементы указанного набора.
|
boolean |
equals(Object o)
Сравнивает указанный объект с этим списком для равенства.
|
E |
get(int index)
Возвращает элемент в указанной позиции в этом списке.
|
int |
hashCode()
Возвращает значение хэш-кода для этого списка.
|
int |
indexOf(Object o)
Возвращает индекс первого возникновения указанного элемента в этом списке, или-1, если этот список не содержит элемент.
|
boolean |
isEmpty()
true возвратов, если этот список не содержит элементов.
|
Iterator<E> |
iterator()
Возвращает iterator по элементам в этом списке в надлежащей последовательности.
|
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 |
retainAll(Collection<?> c)
Сохраняет только элементы в этом списке, которые содержатся в указанном наборе (дополнительная работа).
|
E |
set(int index, E element)
Заменяет элемент в указанной позиции в этом списке с указанным элементом (дополнительная работа).
|
int |
size()
Возвращает число элементов в этом списке.
|
List<E> |
subList(int fromIndex, int toIndex)
Возвращает представление части этого списка между указанным fromIndex, включительно, и toIndex, монопольным.
|
Объект[] |
toArray()
Возвращает массив, содержащий все элементы в этом списке в надлежащей последовательности (от сначала, чтобы продлиться элемент).
|
<T> T[] |
toArray(T[] a)
Возвращает массив, содержащий все элементы в этом списке в надлежащей последовательности (от сначала, чтобы продлиться элемент); тип времени выполнения возвращенного массива является типом указанного массива.
|
int size()
size
в интерфейсе Collection<E>
boolean isEmpty()
isEmpty
в интерфейсе Collection<E>
boolean contains(Object o)
contains
в интерфейсе Collection<E>
o
- элемент, присутствие которого в этом списке должно быть протестированоClassCastException
- если тип указанного элемента является несовместимым с этим (дополнительным) спискомNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые (дополнительные) элементыIterator<E> iterator()
Object[] toArray()
Возвращенный массив будет "безопасен" в этом, никакие ссылки на него не сохраняются этим списком. (Другими словами этот метод должен выделить новый массив, даже если этот список поддерживается массивом). Вызывающая сторона таким образом свободна изменить возвращенный массив.
Этот метод действует как мост между основанными на массиве и основанными на наборе API.
toArray
в интерфейсе Collection<E>
Arrays.asList(Object[])
<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>
a
- массив, в который должны быть сохранены элементы этого списка, если это является достаточно большим; иначе, новый массив того же самого типа времени выполнения выделяется с этой целью.ArrayStoreException
- если тип времени выполнения указанного массива не является супертипом типа времени выполнения каждого элемента в этом спискеNullPointerException
- если указанный массив является нулемboolean add(E e)
Списки, которые поддерживают эту работу, могут поместить ограничения на то, какие элементы могут быть добавлены к этому списку. В частности некоторые списки откажутся добавить нулевые элементы, и другие введут ограничения для типа элементов, которые могут быть добавлены. Классы списка должны ясно определить в их документации любые ограничения на то, какие элементы могут быть добавлены.
add
в интерфейсе Collection<E>
e
- элемент, который будет добавлен к этому спискуCollection.add(E)
)UnsupportedOperationException
- если работа add не поддерживается этим спискомClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этому спискуNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство этого элемента препятствует тому, чтобы это было добавлено к этому спискуboolean remove(Object o)
remove
в интерфейсе Collection<E>
o
- элемент, который будет удален из этого списка, если существующийClassCastException
- если тип указанного элемента является несовместимым с этим (дополнительным) спискомNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые (дополнительные) элементыUnsupportedOperationException
- если работа remove не поддерживается этим спискомboolean containsAll(Collection<?> c)
containsAll
в интерфейсе Collection<E>
c
- набор, который будет проверен на включение в этом спискеClassCastException
- если типы одного или более элементов в указанном наборе являются несовместимыми с этим (дополнительным) спискомNullPointerException
- если указанный набор содержит один или более нулевых элементов, и этот список не разрешает нулевые (дополнительные) элементы, или если указанный набор является нулемcontains(Object)
boolean addAll(Collection<? extends E> c)
addAll
в интерфейсе Collection<E>
c
- набор, содержащий элементы, которые будут добавлены к этому спискуUnsupportedOperationException
- если работа addAll не поддерживается этим спискомClassCastException
- если класс элемента указанного набора препятствует тому, чтобы это было добавлено к этому спискуNullPointerException
- если указанный набор содержит один или более нулевых элементов, и этот список не разрешает нулевые элементы, или если указанный набор является нулемIllegalArgumentException
- если некоторое свойство элемента указанного набора препятствует тому, чтобы это было добавлено к этому спискуadd(Object)
boolean addAll(int index, Collection<? extends E> c)
index
- индекс, по которому можно вставить первый элемент от указанного набораc
- набор, содержащий элементы, которые будут добавлены к этому спискуUnsupportedOperationException
- если работа addAll не поддерживается этим спискомClassCastException
- если класс элемента указанного набора препятствует тому, чтобы это было добавлено к этому спискуNullPointerException
- если указанный набор содержит один или более нулевых элементов, и этот список не разрешает нулевые элементы, или если указанный набор является нулемIllegalArgumentException
- если некоторое свойство элемента указанного набора препятствует тому, чтобы это было добавлено к этому спискуIndexOutOfBoundsException
- если индекс испытывает недостаток диапазона (index < 0 || index > size())boolean removeAll(Collection<?> c)
removeAll
в интерфейсе Collection<E>
c
- набор, содержащий элементы, которые будут удалены из этого спискаUnsupportedOperationException
- если работа removeAll не поддерживается этим спискомClassCastException
- если класс элемента этого списка является несовместимым с указанным (дополнительным) наборомNullPointerException
- если этот список содержит нулевой элемент, и указанный набор не разрешает нулевые (дополнительные) элементы, или если указанный набор является нулемremove(Object)
, contains(Object)
boolean retainAll(Collection<?> c)
retainAll
в интерфейсе Collection<E>
c
- набор, содержащий элементы, которые будут сохранены в этом спискеUnsupportedOperationException
- если работа retainAll не поддерживается этим спискомClassCastException
- если класс элемента этого списка является несовместимым с указанным (дополнительным) наборомNullPointerException
- если этот список содержит нулевой элемент, и указанный набор не разрешает нулевые (дополнительные) элементы, или если указанный набор является нулемremove(Object)
, contains(Object)
void clear()
clear
в интерфейсе Collection<E>
UnsupportedOperationException
- если работа clear не поддерживается этим спискомboolean equals(Object o)
equals
в интерфейсе Collection<E>
equals
в классе Object
o
- объект, который будет сравнен для равенства с этим спискомObject.hashCode()
, HashMap
int hashCode()
int hashCode = 1; for (E e : list) hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());Это гарантирует, что list1.equals(list2) подразумевает что list1.hashCode()==list2.hashCode() для любых двух списков, list1 и list2, как требуется согласно общему контракту
Object.hashCode()
.hashCode
в интерфейсе Collection<E>
hashCode
в классе Object
Object.equals(Object)
, equals(Object)
E get(int index)
index
- индекс элемента, чтобы возвратитьсяIndexOutOfBoundsException
- если индекс испытывает недостаток диапазона (index < 0 || index >= size())E set(int index, E element)
index
- индекс элемента, чтобы заменитьelement
- элемент, который будет сохранен в указанной позицииUnsupportedOperationException
- если работа set не поддерживается этим спискомClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этому спискуNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этому спискуIndexOutOfBoundsException
- если индекс испытывает недостаток диапазона (index < 0 || index >= size())void add(int index, E element)
index
- индекс, по которому должен быть вставлен указанный элементelement
- элемент, который будет вставленUnsupportedOperationException
- если работа add не поддерживается этим спискомClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этому спискуNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этому спискуIndexOutOfBoundsException
- если индекс испытывает недостаток диапазона (index < 0 || index > size())E remove(int index)
index
- индекс элемента, который будет удаленUnsupportedOperationException
- если работа remove не поддерживается этим спискомIndexOutOfBoundsException
- если индекс испытывает недостаток диапазона (index < 0 || index >= size())int indexOf(Object o)
o
- элемент, чтобы искатьClassCastException
- если тип указанного элемента является несовместимым с этим (дополнительным) спискомNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые (дополнительные) элементыint lastIndexOf(Object o)
o
- элемент, чтобы искатьClassCastException
- если тип указанного элемента является несовместимым с этим (дополнительным) спискомNullPointerException
- если указанный элемент является нулем, и этот список не разрешает нулевые (дополнительные) элементыListIterator<E> listIterator()
ListIterator<E> listIterator(int index)
next
. Начальный вызов previous
возвратил бы элемент с указанным индексом минус один.index
- индекс первого элемента, который будет возвращен из списка iterator (звонком next
)IndexOutOfBoundsException
- если индекс испытывает недостаток диапазона (index < 0 || index > size()
)List<E> subList(int fromIndex, int toIndex)
Этот метод избавляет от необходимости явные операции диапазона (вида, которые обычно существуют для массивов). Любая работа, которая ожидает список, может использоваться в качестве работы диапазона, передавая представление подсписка вместо целого списка. Например, следующая идиома удаляет диапазон элементов от списка:
list.subList(from, to).clear();Подобные идиомы могут быть созданы для indexOf и lastIndexOf, и все алгоритмы в классе Collections могут быть применены к подсписку.
Семантика списка, возвращенного этим методом, становится неопределенной, если отступающий список (то есть, этот список) структурно изменяются всегда кроме через возвращенный список. (Структурные модификации - те, которые изменяют размер этого списка, или иначе тревожат это таким способом, что происходящие итерации могут привести к неправильным результатам.)
fromIndex
- низкая конечная точка (включительно) подспискаtoIndex
- высокая конечная точка (монопольная) из подспискаIndexOutOfBoundsException
- поскольку недопустимая конечная точка индексирует значение (fromIndex < 0 || toIndex > size || fromIndex > toIndex)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.