Spec-Zone.ru › OpenJDK 17

Класс Collections

java.lang.Object
java.util.Collections
public class Collections extends Object
Этот класс состоит исключительно из статических методов, которые работают с коллекциями или возвращают их. Он содержит полиморфные алгоритмы, работающие с коллекциями, «обёртки», которые возвращают новую коллекцию, основанную на указанной коллекции, и несколько других элементов.

Методы этого класса выбрасывают исключение NullPointerException, если предоставленные им коллекции или объекты классов равны null.

Документация для полиморфных алгоритмов, содержащихся в этом классе, обычно включает краткое описание реализации. Такие описания следует рассматривать как примечания к реализации, а не как части спецификации. Реализаторы могут свободно заменять другие алгоритмы, при условии соблюдения самой спецификации. (Например, алгоритм, используемый sort, не обязательно должен быть слиянием, но он должен быть стабильным.)

«Деструктивные» алгоритмы, содержащиеся в этом классе, то есть алгоритмы, которые изменяют коллекцию, для которой они выполняются, заданы так, что они выбрасывают UnsupportedOperationException, если коллекция не поддерживает соответствующие примитивы изменения, такие как метод set. Эти алгоритмы могут, но не обязаны, выбросить это исключение, если вызов не окажет никакого влияния на коллекцию. Например, вызов метода sort для неизменяемого списка, который уже отсортирован, может или не может выбросить UnsupportedOperationException.

Этот класс является членом Java Collections Framework.

Since:
1.2
См. также:
  • Collection
  • Set
  • List
  • Map

Краткое описание полей

Модификатор и тип Поле Описание
static final List EMPTY_LIST
Пустой список (неизменяемый).
static final Map EMPTY_MAP
Пустая карта (неизменяемая).
static final Set EMPTY_SET
Пустой набор (неизменяемый).

Краткое описание методов

Modifier and Type Method Description
static <T> boolean addAll(Collection<? super T> c, T... elements)
Добавляет все указанные элементы в указанную коллекцию.
static <T> Queue<T> asLifoQueue(Deque<T> deque)
Возвращает представление Deque в виде очереди «последним вошел — первым вышел» (LIFO) Queue.
static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
Ищет указанный объект в заданном списке с помощью алгоритма бинарного поиска.
static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
Ищет указанный объект в заданном списке с помощью алгоритма бинарного поиска.
static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type)
Возвращает динамически безопасное представление указанной коллекции.
static <E> List<E> checkedList(List<E> list, Class<E> type)
Возвращает динамически безопасное представление указанного списка.
static <K, V> Map<K,V> checkedMap(Map<K,V> m, Class<K> keyType, Class<V> valueType)
Возвращает динамически безопасное представление указанной карты.
static <K, V> NavigableMap<K,V> checkedNavigableMap(NavigableMap<K,V> m, Class<K> keyType, Class<V> valueType)
Возвращает динамически безопасное представление указанной навигационной карты.
static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s, Class<E> type)
Возвращает динамически безопасное представление указанного навигационного множества.
static <E> Queue<E> checkedQueue(Queue<E> queue, Class<E> type)
Возвращает динамически безопасное представление указанной очереди.
static <E> Set<E> checkedSet(Set<E> s, Class<E> type)
Возвращает динамически безопасное представление указанного множества.
static <K, V> SortedMap<K,V> checkedSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType)
Возвращает динамически безопасное представление указанной отсортированной карты.
static <E> SortedSet<E> checkedSortedSet(SortedSet<E> s, Class<E> type)
Возвращает динамически безопасное представление указанного отсортированного множества.
static <T> void copy(List<? super T> dest, List<? extends T> src)
Копирует все элементы из одного списка в другой.
static boolean disjoint(Collection<?> c1, Collection<?> c2)
Возвращает true, если две указанные коллекции не имеют общих элементов.
static <T> Enumeration<T> emptyEnumeration()
Возвращает перечисление без элементов.
static <T> Iterator<T> emptyIterator()
Возвращает итератор без элементов.
static final <T> List<T> emptyList()
Возвращает пустой список (неизменяемый).
static <T> ListIterator<T> emptyListIterator()
Возвращает итератор списка без элементов.
static final <K, V> Map<K,V> emptyMap()
Возвращает пустую карту (неизменяемая).
static final <K, V> NavigableMap<K,V> emptyNavigableMap()
Возвращает пустую навигационную карту (неизменяемая).
static <E> NavigableSet<E> emptyNavigableSet()
Возвращает пустое навигационное множество (неизменяемое).
static final <T> Set<T> emptySet()
Возвращает пустое множество (неизменяемое).
static final <K, V> SortedMap<K,V> emptySortedMap()
Возвращает пустую отсортированную карту (неизменяемая).
static <E> SortedSet<E> emptySortedSet()
Возвращает пустое отсортированное множество (неизменяемое).
static <T> Enumeration<T> enumeration(Collection<T> c)
Возвращает перечисление над указанной коллекцией.
static <T> void fill(List<? super T> list, T obj)
Заменяет все элементы указанного списка указанным элементом.
static int frequency(Collection<?> c, Object o)
Возвращает количество элементов в указанной коллекции, равных указанному объекту.
static int indexOfSubList(List<?> source, List<?> target)
Возвращает начальную позицию первого вхождения указанного целевого списка в указанный исходный список или -1, если такого вхождения нет.
static int lastIndexOfSubList(List<?> source, List<?> target)
Возвращает начальную позицию последнего вхождения указанного целевого списка в указанный исходный список или -1, если такого вхождения нет.
static <T> ArrayList<T> list(Enumeration<T> e)
Возвращает список, содержащий элементы, возвращенные указанным перечислением в порядке их возвращения перечислением.
static <T extends Object & Comparable<? super T>>
T
max(Collection<? extends T> coll)
Возвращает максимальный элемент заданной коллекции в соответствии с естественным порядком ее элементов.
static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)
Возвращает максимальный элемент заданной коллекции в соответствии с порядком, заданным указанным компаратором.
static <T extends Object & Comparable<? super T>>
T
min(Collection<? extends T> coll)
Возвращает минимальный элемент заданной коллекции в соответствии с естественным порядком ее элементов.
static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)
Возвращает минимальный элемент заданной коллекции в соответствии с порядком, заданным указанным компаратором.
static <T> List<T> nCopies(int n, T o)
Возвращает неизменяемый список, состоящий из n копий указанного объекта.
static <E> Set<E> newSetFromMap(Map<E,Boolean> map)
Возвращает множество, поддерживаемое указанной картой.
static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)
Заменяет все вхождения одного указанного значения в списке другим.
static void reverse(List<?> list)
Инвертирует порядок элементов в указанном списке.
static <T> Comparator<T> reverseOrder()
Возвращает компаратор, который накладывает обратный естественный порядок на коллекцию объектов, реализующих интерфейс Comparable.
static <T> Comparator<T> reverseOrder(Comparator<T> cmp)
Возвращает компаратор, который накладывает обратный порядок указанного компаратора.
static void rotate(List<?> list, int distance)
Поворачивает элементы в указанном списке на указанное расстояние.
static void shuffle(List<?> list)
Случайным образом переставляет указанный список, используя стандартный источник случайности.
static void shuffle(List<?> list, Random rnd)
Случайным образом переставляет указанный список, используя указанный источник случайности.
static <T> Set<T> singleton(T o)
Возвращает неизменяемое множество, содержащее только указанный объект.
static <T> List<T> singletonList(T o)
Возвращает неизменяемый список, содержащий только указанный объект.
static <K, V> Map<K,V> singletonMap(K key, V value)
Возвращает неизменяемую карту, отображающую только указанный ключ на указанное значение.
static <T extends Comparable<? super T>>
void
sort(List<T> list)
Сортирует указанный список в порядке возрастания в соответствии с естественным порядком его элементов.
static <T> void sort(List<T> list, Comparator<? super T> c)
Сортирует указанный список в соответствии с порядком, заданным указанным компаратором.
static void swap(List<?> list, int i, int j)
Меняет местами элементы в указанном списке по указанным позициям.
static <T> Collection<T> synchronizedCollection(Collection<T> c)
Возвращает синхронизированную (безопасную для потоков) коллекцию, поддерживаемую указанной коллекцией.
static <T> List<T> synchronizedList(List<T> list)
Возвращает синхронизированный (безопасный для потоков) список, поддерживаемый указанным списком.
static <K, V> Map<K,V> synchronizedMap(Map<K,V> m)
Возвращает синхронизированную (безопасную для потоков) карту, поддерживаемую указанной картой.
static <K, V> NavigableMap<K,V> synchronizedNavigableMap(NavigableMap<K,V> m)
Возвращает синхронизированную (безопасную для потоков) навигационную карту, поддерживаемую указанной навигационной картой.
static <T> NavigableSet<T> synchronizedNavigableSet(NavigableSet<T> s)
Возвращает синхронизированное (безопасное для потоков) навигационное множество, поддерживаемое указанным навигационным множеством.
static <T> Set<T> synchronizedSet(Set<T> s)
Возвращает синхронизированное (безопасное для потоков) множество, поддерживаемое указанным множеством.
static <K, V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> m)
Возвращает синхронизированную (безопасную для потоков) отсортированную карту, поддерживаемую указанной отсортированной картой.
static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s)
Возвращает синхронизированное (безопасное для потоков) отсортированное множество, поддерживаемое указанным отсортированным множеством.
static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)
Возвращает не изменяемый вид указанной коллекции.
static <T> List<T> unmodifiableList(List<? extends T> list)
Возвращает не изменяемый вид указанного списка.
static <K, V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)
Возвращает не изменяемый вид указанной карты.
static <K, V> NavigableMap<K,V> unmodifiableNavigableMap(NavigableMap<K,? extends V> m)
Возвращает не изменяемый вид указанной сортированной карты.
static <T> NavigableSet<T> unmodifiableNavigableSet(NavigableSet<T> s)
Возвращает не изменяемый вид указанного сортированного множества.
static <T> Set<T> unmodifiableSet(Set<? extends T> s)
Возвращает не изменяемый вид указанного множества.
static <K, V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> m)
Возвращает не изменяемый вид указанной сортированной карты.
static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)
Возвращает не изменяемый вид указанного сортированного множества.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

EMPTY_SET

public static final Set EMPTY_SET
Пустое множество (неизменяемое). Это множество сериализуемо.
См. также:
  • emptySet()

EMPTY_LIST

public static final List EMPTY_LIST
Пустой список (неизменяемый). Этот список сериализуем.
См. также:
  • emptyList()

EMPTY_MAP

public static final Map EMPTY_MAP
Пустая карта (неизменяемая). Эта карта сериализуема.
С тех пор как:
1.3
См. также:
  • emptyMap()

Подробное описание методов

sort

public static <T extends Comparable<? super T>> void sort(List<T> list)
Сортирует указанный список в порядке возрастания в соответствии с естественным порядком его элементов. Все элементы в списке должны реализовывать интерфейс Comparable. Кроме того, все элементы в списке должны быть взаимно сравнимы (то есть, e1.compareTo(e2) не должно вызывать ClassCastException для любых элементов e1 и e2 в списке).

Эта сортировка гарантированно стабильна: равные элементы не будут переупорядочены в результате сортировки.

Указанный список должен быть изменяемым, но не обязательно изменяемым по размеру.

Примечание к реализации:
Эта реализация делегирует метод List.sort(Comparator) с использованием указанного списка и null компаратора.
Параметры типа:
T - класс объектов в списке
Параметры:
list - сортируемый список.
Исключения:
ClassCastException - если список содержит элементы, которые не являются взаимно сравнимыми (например, строки и целые числа).
UnsupportedOperationException - если итератор списка указанного списка не поддерживает операцию set.
IllegalArgumentException - (необязательно) если реализация обнаруживает, что естественный порядок элементов списка нарушает контракт Comparable
См. также:
  • List.sort(Comparator)

sort

public static <T> void sort(List<T> list, Comparator<? super T> c)
Сортирует указанный список в соответствии с порядком, индуцированным указанным компаратором. Все элементы в списке должны быть взаимно сравнимыми с помощью указанного компаратора (то есть, c.compare(e1, e2) не должно вызывать ClassCastException для любых элементов e1 и e2 в списке).

Эта сортировка гарантированно стабильна: равные элементы не будут переупорядочены в результате сортировки.

Указанный список должен быть изменяемым, но не обязательно изменяемым по размеру.

Примечание к реализации:
Эта реализация делегирует метод List.sort(Comparator) с использованием указанного списка и компаратора.
Параметры типа:
T - класс объектов в списке
Параметры:
list - сортируемый список.
c - компаратор для определения порядка списка. Значение null указывает, что должен использоваться естественный порядок элементов.
Исключения:
ClassCastException - если список содержит элементы, которые не являются взаимно сравнимыми с помощью указанного компаратора.
UnsupportedOperationException - если итератор списка указанного списка не поддерживает операцию set.
IllegalArgumentException - (необязательно) если компаратор нарушает контракт Comparator
См. также:
  • List.sort(Comparator)

binarySearch

public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
Ищет в указанном списке указанный объект с помощью алгоритма бинарного поиска. Список должен быть отсортирован в порядке возрастания в соответствии с естественным порядком его элементов (как в методе sort(List)) перед вызовом этого метода. Если он не отсортирован, результаты не определены. Если список содержит несколько элементов, равных указанному объекту, нет гарантии, какой из них будет найден.

Этот метод работает за время log(n) для списка с «случайным доступом» (который обеспечивает почти постоянное время доступа к позиции). Если указанный список не реализует интерфейс RandomAccess и большой, этот метод выполнит поиск в двоичном формате на основе итератора, который выполняет O(n) обходов связей и O(log n) сравнений элементов.

Параметры типа:
T - класс объектов в списке
Параметры:
list - список для поиска.
key - ключ для поиска.
Возвращает:
индекс ключа поиска, если он содержится в списке; в противном случае, (-(insertion point) - 1). Точка вставки определяется как точка, в которой ключ был бы вставлен в список: индекс первого элемента, большего ключа, или list.size() если все элементы в списке меньше указанного ключа. Обратите внимание, что это гарантирует, что возвращаемое значение будет >= 0 тогда и только тогда, когда ключ найден.
Исключения:
ClassCastException - если список содержит элементы, которые не являются взаимно сравнимыми (например, строки и целые числа), или ключ поиска не является взаимно сравнимым с элементами списка.

binarySearch

public static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
Ищет в указанном списке указанный объект с помощью алгоритма бинарного поиска. Список должен быть отсортирован в порядке возрастания в соответствии с указанным компаратором (как в методе sort(List, Comparator)) перед вызовом этого метода. Если он не отсортирован, результаты не определены. Если список содержит несколько элементов, равных указанному объекту, нет гарантии, какой из них будет найден.

Этот метод работает за время log(n) для списка с «случайным доступом» (который обеспечивает почти постоянное время доступа к позиции). Если указанный список не реализует интерфейс RandomAccess и большой, этот метод выполнит поиск в двоичном формате на основе итератора, который выполняет O(n) обходов связей и O(log n) сравнений элементов.

Параметры типа:
T - класс объектов в списке
Параметры:
list - список для поиска.
key - ключ для поиска.
c - компаратор, по которому упорядочен список. Значение null указывает, что следует использовать естественный порядок элементов.
Возвращает:
индекс ключа поиска, если он содержится в списке; в противном случае, (-(insertion point) - 1). Точка вставки определяется как точка, в которой ключ был бы вставлен в список: индекс первого элемента, большего ключа, или list.size() если все элементы в списке меньше указанного ключа. Обратите внимание, что это гарантирует, что возвращаемое значение будет >= 0 тогда и только тогда, когда ключ найден.
Исключения:
ClassCastException - если список содержит элементы, которые не являются взаимно сравнимыми с помощью указанного компаратора, или ключ поиска не является взаимно сравнимым с элементами списка с использованием этого компаратора.

reverse

public static void reverse(List<?> list)
Изменяет порядок элементов в указанном списке.

Этот метод работает за линейное время.

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

shuffle

public static void shuffle(List<?> list)
Случайным образом перемешивает указанный список с использованием стандартного источника случайности. Все перестановки происходят с приблизительно равной вероятностью.

Оговорка "приблизительно" используется в предыдущем описании, потому что стандартный источник случайности представляет собой только приблизительно беспристрастный источник независимо выбранных битов. Если бы это был идеальный источник случайных битов, то алгоритм выбирал бы перестановки с идеальной равномерностью.

Эта реализация проходит по списку в обратном порядке, от последнего элемента до второго, многократно вставляя случайным образом выбранный элемент в «текущую позицию». Элементы случайным образом выбираются из части списка, которая охватывает первый элемент и текущую позицию включительно.

Этот метод работает за линейное время. Если указанный список не реализует интерфейс RandomAccess и большой, эта реализация выгружает указанный список в массив перед перемешиванием и возвращает перемешанный массив в список. Это позволяет избежать квадратичного поведения, которое возникло бы при перемешивании списка «последовательного доступа» на месте.

Параметры:
list - перемешиваемый список.
Исключения:
UnsupportedOperationException - если указанный список или его итератор не поддерживают операцию set.

shuffle

public static void shuffle(List<?> list, Random rnd)
Случайным образом переупорядочивает указанный список, используя указанный источник случайности. Все перестановки происходят с равной вероятностью, предполагая, что источник случайности справедлив.

Это реализация проходит по списку в обратном порядке, от последнего элемента до второго, многократно меняя местами случайно выбранный элемент в «текущей позиции». Элементы выбираются случайным образом из части списка, которая простирается от первого элемента до текущей позиции включительно.

Этот метод работает за линейное время. Если указанный список не реализует интерфейс RandomAccess и является большим, эта реализация копирует указанный список в массив перед перемешиванием и копирует перемешанный массив обратно в список. Это позволяет избежать квадратичного поведения, которое возникло бы при перемешивании списка «последовательного доступа» на месте.

Параметры:
list - список, который нужно перемешать.
rnd - источник случайности, который нужно использовать для перемешивания списка.
Исключения:
UnsupportedOperationException - если указанный список или его итератор списка не поддерживают операцию set.

swap

public static void swap(List<?> list, int i, int j)
Меняет местами элементы в указанном списке по заданным позициям. (Если указанные позиции равны, вызов этого метода не изменяет список.)
Параметры:
list - список, в котором нужно поменять местами элементы.
i - индекс одного элемента, который нужно поменять местами.
j - индекс другого элемента, который нужно поменять местами.
Исключения:
IndexOutOfBoundsException - если любой из i или j находится вне допустимого диапазона (i < 0 || i >= list.size() || j < 0 || j >= list.size()).
С тех пор:
1.4

fill

public static <T> void fill(List<? super T> list, T obj)
Заменяет все элементы указанного списка заданным элементом.

Этот метод работает за линейное время.

Параметры типа:
T - класс объектов в списке
Параметры:
list - список, который нужно заполнить заданным элементом.
obj - Элемент, которым нужно заполнить указанный список.
Исключения:
UnsupportedOperationException - если указанный список или его итератор списка не поддерживают операцию set.

copy

public static <T> void copy(List<? super T> dest, List<? extends T> src)
Копирует все элементы из одного списка в другой. После операции индекс каждого скопированного элемента в целевом списке будет совпадать с его индексом в исходном списке. Размер целевого списка должен быть больше или равен размеру исходного списка. Если он больше, оставшиеся элементы в целевом списке не затрагиваются.

Этот метод работает за линейное время.

Параметры типа:
T - класс объектов в списках
Параметры:
dest - Целевой список.
src - Исходный список.
Исключения:
IndexOutOfBoundsException - если целевой список слишком мал, чтобы содержать весь исходный список.
UnsupportedOperationException - если итератор целевого списка не поддерживает операцию set.

min

public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)
Возвращает минимальный элемент заданного набора, согласно *естественному порядку* его элементов. Все элементы в наборе должны реализовывать интерфейс Comparable. Кроме того, все элементы в наборе должны быть *взаимно сравнимы* (то есть e1.compareTo(e2) не должно выбрасывать ClassCastException для любых элементов e1 и e2 в наборе).

Этот метод проходит по всему набору, поэтому требует времени, пропорционального размеру набора.

Параметры типа:
T - класс объектов в наборе
Параметры:
coll - набор, минимальный элемент которого нужно определить.
Возвращает:
минимальный элемент данного набора, согласно *естественному порядку* его элементов.
Исключения:
ClassCastException - если набор содержит элементы, которые не *взаимно сравнимы* (например, строки и целые числа).
NoSuchElementException - если набор пустой.
См. также:
  • Comparable

min

public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)
Возвращает минимальный элемент данного набора, согласно порядку, индуцированному заданным компаратором. Все элементы в наборе должны быть *взаимно сравнимы* указанным компаратором (то есть comp.compare(e1, e2) не должно выбрасывать ClassCastException для любых элементов e1 и e2 в наборе).

Этот метод проходит по всему набору, поэтому требует времени, пропорционального размеру набора.

Параметры типа:
T - класс объектов в наборе
Параметры:
coll - набор, минимальный элемент которого нужно определить.
comp - компаратор, с помощью которого определяется минимальный элемент. Значение null указывает, что должен использоваться *естественный порядок* элементов.
Возвращает:
минимальный элемент данного набора, согласно заданному компаратору.
Исключения:
ClassCastException - если набор содержит элементы, которые не *взаимно сравнимы* с помощью указанного компаратора.
NoSuchElementException - если набор пустой.
См. также:
  • Comparable

max

public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
Возвращает максимальный элемент данного набора, согласно *естественному порядку* его элементов. Все элементы в наборе должны реализовывать интерфейс Comparable. Кроме того, все элементы в наборе должны быть *взаимно сравнимы* (то есть e1.compareTo(e2) не должно выбрасывать ClassCastException для любых элементов e1 и e2 в наборе).

Этот метод проходит по всему набору, поэтому требует времени, пропорционального размеру набора.

Параметры типа:
T - класс объектов в наборе
Параметры:
coll - набор, максимальный элемент которого нужно определить.
Возвращает:
максимальный элемент данного набора, согласно *естественному порядку* его элементов.
Исключения:
ClassCastException - если набор содержит элементы, которые не *взаимно сравнимы* (например, строки и целые числа).
NoSuchElementException - если набор пустой.
См. также:
  • Comparable

max

public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)
Возвращает максимальный элемент данного набора, согласно порядку, индуцированному заданным компаратором. Все элементы в наборе должны быть *взаимно сравнимы* указанным компаратором (то есть comp.compare(e1, e2) не должно выбрасывать ClassCastException для любых элементов e1 и e2 в наборе).

Этот метод проходит по всему набору, поэтому требует времени, пропорционального размеру набора.

Параметры типа:
T - класс объектов в наборе
Параметры:
coll - набор, максимальный элемент которого нужно определить.
comp - компаратор, с помощью которого определяется максимальный элемент. Значение null указывает, что должен использоваться *естественный порядок* элементов.
Возвращает:
максимальный элемент данного набора, согласно заданному компаратору.
Исключения:
ClassCastException - если набор содержит элементы, которые не *взаимно сравнимы* с помощью указанного компаратора.
NoSuchElementException - если набор пустой.
См. также:
  • Comparable

rotate

public static void rotate(List<?> list, int distance)
Поворачивает элементы в указанном списке на указанное расстояние. После вызова этого метода элемент с индексом i будет элементом, который ранее находился на индексе (i - distance) mod list.size(), для всех значений i между 0 и list.size()-1, включительно. (Этот метод не влияет на размер списка.)

Например, предположим, что list содержит [t, a, n, k, s]. После вызова Collections.rotate(list, 1) (или Collections.rotate(list, -4)), list будет содержать [s, t, a, n, k].

Обратите внимание, что этот метод может быть полезно применен к подспискам для перемещения одного или нескольких элементов в списке, сохраняя порядок оставшихся элементов. Например, следующий фрагмент кода перемещает элемент с индексом j вперёд на позицию k (которая должна быть больше или равна j) :

     Collections.rotate(list.subList(j, k+1), -1);
 
Для наглядности, предположим, что list содержит [a, b, c, d, e]. Чтобы переместить элемент с индексом 1 (b) вперёд на две позиции, выполните следующий вызов:
     Collections.rotate(l.subList(1, 4), -1);
 
Результирующий список будет [a, c, d, b, e].

Для перемещения более одного элемента вперёд увеличьте абсолютное значение расстояния поворота. Для перемещения элементов назад используйте положительное смещение.

Если указанный список небольшой или реализует интерфейс RandomAccess, эта реализация меняет первое местоположение элемента на то, где он должен быть, а затем повторяет обмен смещённого элемента на место, пока смещённый элемент не будет помещён на первое место. Если необходимо, процесс повторяется для второго и последующих элементов, пока поворот не будет завершён. Если указанный список большой и не реализует интерфейс RandomAccess, эта реализация разбивает список на два подсписка вокруг индекса -distance mod size. Затем метод reverse(List) вызывается для каждого подсписка, и, наконец, для всего списка. Более полное описание обоих алгоритмов см. в разделе 2.3 книги Джона Бентли «Программирование Pearls» (Addison-Wesley, 1986).

Parameters:
list - список, который нужно повернуть.
distance - расстояние поворота списка. Нет ограничений на это значение; оно может быть нулевым, отрицательным или больше, чем list.size().
Throws:
UnsupportedOperationException - если указанный список или его итератор списка не поддерживает операцию set.
Since:
1.4

replaceAll

public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)
Заменяет все вхождения одного указанного значения в списке другим. Более формально, заменяет newVal каждый элемент e в list таким образом, чтобы (oldVal==null ? e==null : oldVal.equals(e)). (Этот метод не влияет на размер списка.)
Type Parameters:
T - класс объектов в списке
Parameters:
list - список, в котором должно произойти замена.
oldVal - старое значение, которое нужно заменить.
newVal - новое значение, на которое oldVal должно быть заменено.
Returns:
true если list содержал один или несколько элементов e таких, что (oldVal==null ? e==null : oldVal.equals(e)).
Throws:
UnsupportedOperationException - если указанный список или его итератор списка не поддерживает операцию set.
Since:
1.4

indexOfSubList

public static int indexOfSubList(List<?> source, List<?> target)
Возвращает начальную позицию первого вхождения указанного целевого списка в указанном исходном списке или -1, если такого вхождения нет. Более формально, возвращает наименьший индекс i такой, что source.subList(i, i+target.size()).equals(target), или -1, если такого индекса нет. (Возвращает -1, если target.size() > source.size())

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

Parameters:
source - список, в котором нужно найти первое вхождение target.
target - список, ищущийся как подсписок source.
Returns:
начальная позиция первого вхождения указанного целевого списка в указанный исходный список, или -1, если такого вхождения нет.
Since:
1.4

lastIndexOfSubList

public static int lastIndexOfSubList(List<?> source, List<?> target)
Возвращает начальную позицию последнего вхождения указанного целевого списка в указанный исходный список, или -1, если такого вхождения нет. Более формально, возвращает наивысший индекс i такой, что source.subList(i, i+target.size()).equals(target), или -1, если такого индекса нет. (Возвращает -1, если target.size() > source.size())

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

Parameters:
source - список, в котором нужно найти последнее вхождение target.
target - список, ищущийся как подсписок source.
Returns:
начальная позиция последнего вхождения указанного целевого списка в указанный исходный список, или -1, если такого вхождения нет.
Since:
1.4

unmodifiableCollection

public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)
Возвращает неизменяемый вид указанного набора. Операции запроса к возвращаемому набору "читают через" к указанному набору, и попытки изменить возвращаемый набор, как прямо, так и через его итератор, приводят к UnsupportedOperationException.

Возвращаемый набор не передает операции hashCode и equals в подлежащий набор, но полагается на Object's equals и hashCode методы. Это необходимо для сохранения контрактов этих операций в том случае, если подлежащий набор является множеством или списком.

Возвращаемый набор будет сериализуемым, если указанный набор является сериализуемым.

Implementation Note:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Type Parameters:
T - класс объектов в наборе
Parameters:
c - набор, для которого нужно вернуть неизменяемый вид.
Returns:
неизменяемый вид указанного набора.

unmodifiableSet

public static <T> Set<T> unmodifiableSet(Set<? extends T> s)
Возвращает неизменяемый вид указанного множества. Операции запроса к возвращаемому множеству "читают через" к указанному множеству, и попытки изменить возвращаемое множество, как прямо, так и через его итератор, приводят к UnsupportedOperationException.

Возвращаемое множество будет сериализуемым, если указанное множество является сериализуемым.

Implementation Note:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Type Parameters:
T - класс объектов в множестве
Parameters:
s - множество, для которого нужно вернуть неизменяемый вид.
Returns:
неизменяемый вид указанного множества.

unmodifiableSortedSet

public static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)
Возвращает неизменяемый вид указанного отсортированного множества. Операции запроса к возвращаемому отсортированному множеству "читают через" к указанному отсортированному множеству. Попытки изменить возвращаемое отсортированное множество, как напрямую, так и через его итератор, или через его subSet, headSet, или tailSet представления, приводят к UnsupportedOperationException.

Возвращаемое отсортированное множество будет сериализуемым, если указанное отсортированное множество является сериализуемым.

Implementation Note:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Type Parameters:
T - класс объектов в множестве
Parameters:
s - отсортированное множество, для которого нужно вернуть неизменяемый вид.
Returns:
неизменяемый вид указанного отсортированного множества.

unmodifiableNavigableSet

public static <T> NavigableSet<T> unmodifiableNavigableSet(NavigableSet<T> s)
Возвращает неизменяемый вид указанного навигационного множества. Операции запроса к возвращаемому навигационному множеству "читают через" к указанному навигационному множеству. Попытки изменить возвращаемое навигационное множество, как напрямую, так и через его итератор, или через его subSet, headSet, или tailSet представления, приводят к UnsupportedOperationException.

Возвращаемое навигационное множество будет сериализуемым, если указанное навигационное множество является сериализуемым.

Implementation Note:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Type Parameters:
T - класс объектов в множестве
Parameters:
s - навигационное множество, для которого нужно вернуть неизменяемый вид
Returns:
неизменяемый вид указанного навигационного множества
Since:
1.8

unmodifiableСписок

public static <T> List<T> unmodifiableList(List<? extends T> list)
Возвращает неизменяемый вид указанного списка. Операции запроса к возвращаемому списку «считывают» из указанного списка, и попытки изменить возвращаемый список, будь то прямо или через его итератор, приводят к UnsupportedOperationException.

Возвращаемый список будет сериализуемым, если указанный список сериализуем. Аналогично, возвращаемый список будет реализовывать RandomAccess, если указанный список это делает.

Примечание об реализации:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Параметры типа:
T - класс объектов в списке
Параметры:
list - список, для которого требуется вернуть неизменяемый вид.
Возвращаемое значение:
неизменяемый вид указанного списка.

unmodifiableКарта

public static <K, V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)
Возвращает неизменяемый вид указанной карты. Операции запроса к возвращаемой карте «считывают» из указанной карты, и попытки изменить возвращаемую карту, будь то прямо или через ее коллекции, приводят к UnsupportedOperationException.

Возвращаемая карта будет сериализуемой, если указанная карта сериализуема.

Примечание об реализации:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Параметры типа:
K - класс ключей карты
V - класс значений карты
Параметры:
m - карта, для которой требуется вернуть неизменяемый вид.
Возвращаемое значение:
неизменяемый вид указанной карты.

unmodifiableОтсортированнаяКарта

public static <K, V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> m)
Возвращает неизменяемый вид указанной отсортированной карты. Операции запроса к возвращаемой отсортированной карте «считывают» из указанной отсортированной карты. Попытки изменить возвращаемую отсортированную карту, будь то напрямую, через ее коллекции или через ее subMap, headMap, или tailMap представления, приведут к UnsupportedOperationException.

Возвращаемая отсортированная карта будет сериализуемой, если указанная отсортированная карта сериализуема.

Примечание об реализации:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Параметры типа:
K - класс ключей карты
V - класс значений карты
Параметры:
m - отсортированная карта, для которой требуется вернуть неизменяемый вид.
Возвращаемое значение:
неизменяемый вид указанной отсортированной карты.

unmodifiableНавигационнаяКарта

public static <K, V> NavigableMap<K,V> unmodifiableNavigableMap(NavigableMap<K,? extends V> m)
Возвращает неизменяемый вид указанной навигационной карты. Операции запроса к возвращаемой навигационной карте «считывают» из указанной навигационной карты. Попытки изменить возвращаемую навигационную карту, будь то напрямую, через ее коллекции или через ее subMap, headMap, или tailMap представления, приведут к UnsupportedOperationException.

Возвращаемая навигационная карта будет сериализуемой, если указанная навигационная карта сериализуема.

Примечание об реализации:
Этот метод может вернуть свой аргумент, если аргумент уже неизменяемый.
Параметры типа:
K - класс ключей карты
V - класс значений карты
Параметры:
m - навигационная карта, для которой требуется вернуть неизменяемый вид
Возвращаемое значение:
неизменяемый вид указанной навигационной карты
С тех пор:
1.8

синхронизированнаяКоллекция

public static <T> Collection<T> synchronizedCollection(Collection<T> c)
Возвращает синхронизированную (потокобезопасную) коллекцию, основанную на указанной коллекции. Для обеспечения последовательного доступа важно, чтобы все обращение к базовой коллекции осуществлялось через возвращенную коллекцию.

Необходимо вручную синхронизировать на возвращенной коллекции при обходе с помощью Iterator, Spliterator или Stream:

  Collection c = Collections.synchronizedCollection(myCollection);
     ...
  synchronized (c) {
      Iterator i = c.iterator(); // Must be in the synchronized block
      while (i.hasNext())
         foo(i.next());
  }
 
Отсутствие соблюдения этого требования может привести к непредсказуемому поведению.

Возвращаемая коллекция не передает операции hashCode и equals в базу коллекции, а опирается на методы equals и hashCode Object. Это необходимо для сохранения контрактов этих операций в случае, если базовая коллекция является набором или списком.

Возвращаемая коллекция будет сериализуемой, если указанная коллекция сериализуема.

Параметры типа:
T - класс объектов в коллекции
Параметры:
c - коллекция, которая будет «упакована» в синхронизированную коллекцию.
Возвращаемое значение:
синхронизированный вид указанной коллекции.

синхронизированныйНабор

public static <T> Set<T> synchronizedSet(Set<T> s)
Возвращает синхронизированный (потокобезопасный) набор, основанный на указанном наборе. Для обеспечения последовательного доступа важно, чтобы все обращения к базовому набору осуществлялись через возвращенный набор.

Необходимо вручную синхронизировать на возвращенной коллекции при обходе с помощью Iterator, Spliterator или Stream:

  Set s = Collections.synchronizedSet(new HashSet());
      ...
  synchronized (s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Отсутствие соблюдения этого требования может привести к непредсказуемому поведению.

Возвращаемый набор будет сериализуемым, если указанный набор сериализуем.

Параметры типа:
T - класс объектов в наборе
Параметры:
s - набор, который будет «упакован» в синхронизированный набор.
Возвращаемое значение:
синхронизированный вид указанного набора.

синхронизированныйОтсортированныйНабор

public static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s)
Возвращает синхронизированный (потокобезопасный) отсортированный набор, основанный на указанном отсортированном наборе. Для обеспечения последовательного доступа важно, чтобы все обращения к базовому отсортированному набору осуществлялись через возвращенный отсортированный набор (или его представления).

Необходимо вручную синхронизировать на возвращенном отсортированном наборе при обходе или любом из его subSet, headSet, или tailSet представлений с помощью Iterator, Spliterator или Stream:

  SortedSet s = Collections.synchronizedSortedSet(new TreeSet());
      ...
  synchronized (s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
или:
  SortedSet s = Collections.synchronizedSortedSet(new TreeSet());
  SortedSet s2 = s.headSet(foo);
      ...
  synchronized (s) {  // Note: s, not s2!!!
      Iterator i = s2.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Отсутствие соблюдения этого требования может привести к непредсказуемому поведению.

Возвращаемый отсортированный набор будет сериализуемым, если указанный отсортированный набор сериализуем.

Параметры типа:
T - класс объектов в наборе
Параметры:
s - отсортированный набор, который будет «упакован» в синхронизированный отсортированный набор.
Возвращаемое значение:
синхронизированный вид указанного отсортированного набора.

синхронизированныйНавигационныйНабор

public static <T> NavigableSet<T> synchronizedNavigableSet(NavigableSet<T> s)
Возвращает синхронизированный (потокобезопасный) навигационный набор, основанный на указанном навигационном наборе. Для обеспечения последовательного доступа важно, чтобы все обращения к базовому навигационному набору осуществлялись через возвращенный навигационный набор (или его представления).

Необходимо вручную синхронизировать на возвращенном навигационном наборе при обходе или любом из его subSet, headSet, или tailSet представлений с помощью Iterator, Spliterator или Stream:

  NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
      ...
  synchronized (s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
или:
  NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
  NavigableSet s2 = s.headSet(foo, true);
      ...
  synchronized (s) {  // Note: s, not s2!!!
      Iterator i = s2.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Отсутствие соблюдения этого требования может привести к непредсказуемому поведению.

Возвращаемый навигационный набор будет сериализуемым, если указанный навигационный набор сериализуем.

Параметры типа:
T - класс объектов в наборе
Параметры:
s - навигационный набор, который будет «упакован» в синхронизированный навигационный набор
Возвращаемое значение:
синхронизированный вид указанного навигационного набора
С тех пор:
1.8

синхронизированныйСписок

public static <T> List<T> synchronizedList(List<T> list)
Возвращает синхронизированный (потокобезопасный) список, основанный на указанном списке. Для обеспечения последовательного доступа важно, чтобы все обращения к базовому списку осуществлялись через возвращенный список.

Необходимо вручную синхронизировать на возвращенном списке при обходе с помощью Iterator, Spliterator или Stream:

  List list = Collections.synchronizedList(new ArrayList());
      ...
  synchronized (list) {
      Iterator i = list.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Отсутствие соблюдения этого требования может привести к непредсказуемому поведению.

Возвращаемый список будет сериализуемым, если указанный список сериализуем.

Параметры типа:
T - класс объектов в списке
Параметры:
list - список, который будет «упакован» в синхронизированный список.
Возвращаемое значение:
синхронизированный вид указанного списка.

синхронизированнаяМапа

public static <K, V> Map<K,V> synchronizedMap(Map<K,V> m)
Возвращает синхронизированную (безопасную для потоков) карту, основанную на указанной карте. Для обеспечения последовательного доступа крайне важно, чтобы все обращения к базовой карте выполнялись через возвращенную карту.

Необходимо, чтобы пользователь вручную синхронизировал возвращенную карту при обходе любого из её представлений коллекций через Iterator, Spliterator или Stream:

  Map m = Collections.synchronizedMap(new HashMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized (m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Несоблюдение этого совета может привести к непредсказуемому поведению.

Возвращаемая карта будет сериализуемой, если указанная карта сериализуема.

Type Parameters:
K - класс ключей карты
V - класс значений карты
Parameters:
m - карта, которая должна быть «обернута» в синхронизированную карту.
Returns:
синхронизированный вид указанной карты.

синхронизированнаяОтсортированнаяМапа

public static <K, V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> m)
Возвращает синхронизированную (безопасную для потоков) отсортированную карту, основанную на указанной отсортированной карте. Для обеспечения последовательного доступа крайне важно, чтобы все обращения к базовой отсортированной карте выполнялись через возвращенную отсортированную карту (или её представления).

Необходимо, чтобы пользователь вручную синхронизировал возвращенную отсортированную карту при обходе любого из её представлений коллекций, или представлений коллекций любого из её subMap, headMap или tailMap представлений, через Iterator, Spliterator или Stream:

  SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized (m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
или:
  SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
  SortedMap m2 = m.subMap(foo, bar);
      ...
  Set s2 = m2.keySet();  // Needn't be in synchronized block
      ...
  synchronized (m) {  // Synchronizing on m, not m2 or s2!
      Iterator i = s2.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Несоблюдение этого совета может привести к непредсказуемому поведению.

Возвращаемая отсортированная карта будет сериализуемой, если указанная отсортированная карта сериализуема.

Type Parameters:
K - класс ключей карты
V - класс значений карты
Parameters:
m - отсортированная карта, которая должна быть «обернута» в синхронизированную отсортированную карту.
Returns:
синхронизированный вид указанной отсортированной карты.

синхронизированнаяНавигационнаяМапа

public static <K, V> NavigableMap<K,V> synchronizedNavigableMap(NavigableMap<K,V> m)
Возвращает синхронизированную (безопасную для потоков) навигационную карту, основанную на указанной навигационной карте. Для обеспечения последовательного доступа крайне важно, чтобы все обращения к базовой навигационной карте выполнялись через возвращенную навигационную карту (или её представления).

Необходимо, чтобы пользователь вручную синхронизировал возвращенную навигационную карту при обходе любого из её представлений коллекций, или представлений коллекций любого из её subMap, headMap или tailMap представлений, через Iterator, Spliterator или Stream:

  NavigableMap m = Collections.synchronizedNavigableMap(new TreeMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized (m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
или:
  NavigableMap m = Collections.synchronizedNavigableMap(new TreeMap());
  NavigableMap m2 = m.subMap(foo, true, bar, false);
      ...
  Set s2 = m2.keySet();  // Needn't be in synchronized block
      ...
  synchronized (m) {  // Synchronizing on m, not m2 or s2!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
 
Несоблюдение этого совета может привести к непредсказуемому поведению.

Возвращаемая навигационная карта будет сериализуемой, если указанная навигационная карта сериализуема.

Type Parameters:
K - класс ключей карты
V - класс значений карты
Parameters:
m - навигационная карта, которая должна быть «обернута» в синхронизированную навигационную карту
Returns:
синхронизированный вид указанной навигационной карты.
Since:
1.8

checkedCollection

public static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type)
Возвращает динамически безопасный вид указанной коллекции. Любая попытка вставить элемент неправильного типа приведет к немедленному ClassCastException. Предполагая, что коллекция не содержит элементов неправильного типа до момента генерации динамически безопасного представления, и что все последующие обращения к коллекции происходят через представление, гарантируется, что коллекция не может содержать элемент неправильного типа.

Механизм дженериков в языке обеспечивает проверку типов на этапе компиляции (статически), но возможно обойти этот механизм с помощью неявных преобразований типов. Обычно это не проблема, так как компилятор выдаёт предупреждения об всех таких неявных операциях. Однако бывают случаи, когда статической проверки типов недостаточно. Например, предположим, что коллекция передаётся сторонней библиотеке, и крайне важно, чтобы код библиотеки не повредил коллекцию, вставив элемент неправильного типа.

Другое использование динамически безопасных представлений — отладка. Предположим, что программа завершается с ClassCastException, указывая, что в параметризованную коллекцию был вставлен элемент неправильного типа. К сожалению, исключение может возникнуть в любое время после вставки ошибочного элемента, поэтому оно обычно даёт мало или совсем никакой информации о реальном источнике проблемы. Если проблема воспроизводима, можно быстро определить её источник, временно модифицировав программу для обертывания коллекции динамически безопасным представлением. Например, эта декларация:

 
     Collection<String> c = new HashSet<>();
 
может быть временно заменена на эту:
 
     Collection<String> c = Collections.checkedCollection(
         new HashSet<>(), String.class);
 
Запуск программы ещё раз заставит её завершиться в точке вставки элемента неправильного типа в коллекцию, чётко идентифицируя источник проблемы. После устранения проблемы изменённую декларацию можно вернуть к исходной.

Возвращаемая коллекция не передает операции hashCode и equals в базовую коллекцию, а полагается на методы Object's equals и hashCode. Это необходимо для сохранения контрактов этих операций в случае, если базовая коллекция является множеством или списком.

Возвращаемая коллекция будет сериализуема, если указанная коллекция сериализуема.

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

Type Parameters:
E - класс объектов в коллекции
Parameters:
c - коллекция, для которой требуется вернуть динамически безопасный вид
type - тип элемента, который c разрешается хранить
Returns:
динамически безопасный вид указанной коллекции
Since:
1.5

checkedQueue

public static <E> Queue<E> checkedQueue(Queue<E> queue, Class<E> type)
Возвращает динамически безопасный вид указанной очереди. Любая попытка вставить элемент неправильного типа приведет к немедленному ClassCastException. Предполагая, что очередь не содержит элементов неправильного типа до момента генерации динамически безопасного представления, и что все последующие обращения к очереди выполняются через представление, гарантируется, что очередь не может содержать элемент неправильного типа.

Обсуждение использования динамически безопасных представлений можно найти в документации для метода checkedCollection.

Возвращаемая очередь будет сериализуемой, если указанная очередь сериализуема.

Поскольку null считается значением любого ссылочного типа, возвращаемая очередь разрешает вставку null элементов всякий раз, когда это разрешает базовая очередь.

Type Parameters:
E - класс объектов в очереди
Parameters:
queue - очередь, для которой требуется вернуть динамически безопасный вид
type - тип элемента, который queue разрешается хранить
Returns:
динамически безопасный вид указанной очереди
Since:
1.8

checkedSet

public static <E> Set<E> checkedSet(Set<E> s, Class<E> type)
Возвращает динамически безопасный вид указанного множества. Любая попытка вставить элемент неправильного типа приведет к немедленному ClassCastException. Предполагая, что множество не содержит элементов неправильного типа до момента генерации динамически безопасного представления, и что все последующие обращения к множеству выполняются через представление, гарантируется, что множество не может содержать элемент неправильного типа.

Обсуждение использования динамически безопасных представлений можно найти в документации для метода checkedCollection.

Возвращаемое множество будет сериализуемым, если указанное множество сериализуемо.

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

Type Parameters:
E - класс объектов в множестве
Parameters:
s - множество, для которого требуется вернуть динамически безопасный вид
type - тип элемента, который s разрешается хранить
Returns:
динамически безопасный вид указанного множества
Since:
1.5

checkedSortedSet

public static <E> SortedSet<E> checkedSortedSet(SortedSet<E> s, Class<E> type)
Возвращает динамически типизированный безопасный вид указанного упорядоченного набора. Любая попытка вставить элемент неверного типа приведет к немедленному ClassCastException. Предполагая, что упорядоченный набор не содержит элементов с неверным типом до момента создания динамически типизированного безопасного вида, и что все последующие обращения к упорядоченному набору происходят через вид, гарантируется, что упорядоченный набор не может содержать элемент с неверным типом.

Обсуждение использования динамически типизированных безопасных видов можно найти в документации для метода checkedCollection.

Возвращаемый упорядоченный набор будет сериализуемым, если указанный упорядоченный набор является сериализуемым.

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

Type Parameters:
E - класс объектов в наборе
Parameters:
s - упорядоченный набор, для которого требуется вернуть динамически типизированный безопасный вид
type - тип элемента, который s разрешено хранить
Returns:
динамически типизированный безопасный вид указанного упорядоченного набора
Since:
1.5

checkedNavigableSet

public static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s, Class<E> type)
Возвращает динамически типизированный безопасный вид указанного навигационного набора. Любая попытка вставить элемент неверного типа приведет к немедленному ClassCastException. Предполагая, что навигационный набор не содержит элементов с неверным типом до момента создания динамически типизированного безопасного вида, и что все последующие обращения к навигационному набору происходят через вид, гарантируется, что навигационный набор не может содержать элемент с неверным типом.

Обсуждение использования динамически типизированных безопасных видов можно найти в документации для метода checkedCollection.

Возвращаемый навигационный набор будет сериализуемым, если указанный навигационный набор является сериализуемым.

Поскольку null считается значением любого ссылочного типа, возвращаемый навигационный набор позволяет вставлять нулевые элементы всякий раз, когда это делает базовый упорядоченный набор.

Type Parameters:
E - класс объектов в наборе
Parameters:
s - навигационный набор, для которого требуется вернуть динамически типизированный безопасный вид
type - тип элемента, который s разрешено хранить
Returns:
динамически типизированный безопасный вид указанного навигационного набора
Since:
1.8

checkedList

public static <E> List<E> checkedList(List<E> list, Class<E> type)
Возвращает динамически типизированный безопасный вид указанного списка. Любая попытка вставить элемент неверного типа приведет к немедленному ClassCastException. Предполагая, что список не содержит элементов с неверным типом до момента создания динамически типизированного безопасного вида, и что все последующие обращения к списку происходят через вид, гарантируется, что список не может содержать элемент с неверным типом.

Обсуждение использования динамически типизированных безопасных видов можно найти в документации для метода checkedCollection.

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

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

Type Parameters:
E - класс объектов в списке
Parameters:
list - список, для которого требуется вернуть динамически типизированный безопасный вид
type - тип элемента, который list разрешено хранить
Returns:
динамически типизированный безопасный вид указанного списка
Since:
1.5

checkedMap

public static <K, V> Map<K,V> checkedMap(Map<K,V> m, Class<K> keyType, Class<V> valueType)
Возвращает динамически типизированный безопасный вид указанной карты. Любая попытка вставить отображение, ключ или значение которого имеют неверный тип, приведет к немедленному ClassCastException. Аналогично, любая попытка изменить значение, в настоящее время связанное с ключом, приведет к немедленному ClassCastException, независимо от того, была ли попытка модификации произведена непосредственно через саму карту или через экземпляр Map.Entry, полученный из представления entry set карты.

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

Обсуждение использования динамически типизированных безопасных видов можно найти в документации для метода checkedCollection.

Возвращаемая карта будет сериализуемой, если указанная карта является сериализуемой.

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

Type Parameters:
K - класс ключей карты
V - класс значений карты
Parameters:
m - карта, для которой требуется вернуть динамически типизированный безопасный вид
keyType - тип ключа, который m разрешено хранить
valueType - тип значения, который m разрешено хранить
Returns:
динамически типизированный безопасный вид указанной карты
Since:
1.5

checkedSortedMap

public static <K, V> SortedMap<K,V> checkedSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType)
Возвращает динамически типизированный безопасный вид указанной упорядоченной карты. Любая попытка вставить отображение, ключ или значение которого имеют неверный тип, приведет к немедленному ClassCastException. Аналогично, любая попытка изменить значение, в настоящее время связанное с ключом, приведет к немедленному ClassCastException, независимо от того, была ли попытка модификации произведена непосредственно через саму карту или через экземпляр Map.Entry, полученный из представления entry set карты.

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

Обсуждение использования динамически типизированных безопасных видов можно найти в документации для метода checkedCollection.

Возвращаемая карта будет сериализуемой, если указанная карта является сериализуемой.

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

Type Parameters:
K - класс ключей карты
V - класс значений карты
Parameters:
m - карта, для которой требуется вернуть динамически типизированный безопасный вид
keyType - тип ключа, который m разрешено хранить
valueType - тип значения, который m разрешено хранить
Returns:
динамически типизированный безопасный вид указанной упорядоченной карты
Since:
1.5

checkedNavigableMap

public static <K, V> NavigableMap<K,V> checkedNavigableMap(NavigableMap<K,V> m, Class<K> keyType, Class<V> valueType)
Возвращает динамически типизированный безопасный просмотр указанного навигационного отображения. Любая попытка вставить сопоставление, у которого ключ или значение имеют неправильный тип, приведет к немедленному ClassCastException. Аналогично, любая попытка изменить значение, в настоящее время связанное с ключом, приведет к немедленному ClassCastException, независимо от того, предпринимается ли изменение непосредственно через само отображение или через экземпляр Map.Entry, полученный из просмотра entry set отображения.

Предполагая, что отображение не содержит ключей или значений с неправильным типом до момента создания динамически типизированного безопасного просмотра, и что все последующие обращения к отображению выполняются через просмотр (или один из его представлений коллекций), гарантируется, что отображение не может содержать ключа или значения с неправильным типом.

Обсуждение использования динамически типизированных безопасных представлений можно найти в документации для метода checkedCollection.

Возвращаемое отображение будет сериализуемым, если указанное отображение является сериализуемым.

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

Type Parameters:
K - тип ключей отображения
V - тип значений отображения
Parameters:
m - отображение, для которого необходимо вернуть динамически типизированное безопасное представление
keyType - тип ключа, который m разрешено хранить
valueType - тип значения, который m разрешено хранить
Returns:
динамически типизированное безопасное представление указанного отображения
Since:
1.8

emptyIterator

public static <T> Iterator<T> emptyIterator()
Возвращает итератор без элементов. Точнее,
  • hasNext всегда возвращает false.
  • next всегда выбрасывает NoSuchElementException.
  • remove всегда выбрасывает IllegalStateException.

Реализации этого метода могут, но не обязаны, возвращать один и тот же объект при нескольких вызовах.

Type Parameters:
T - тип элементов, если они были, в итераторе
Returns:
пустой итератор
Since:
1.7

emptyListIterator

public static <T> ListIterator<T> emptyListIterator()
Возвращает список итератор без элементов. Точнее,
  • hasNext и hasPrevious всегда возвращают false.
  • next и previous всегда выбрасывают NoSuchElementException.
  • remove и set всегда выбрасывают IllegalStateException.
  • add всегда выбрасывает UnsupportedOperationException.
  • nextIndex всегда возвращает 0.
  • previousIndex всегда возвращает -1.

Реализации этого метода могут, но не обязаны, возвращать один и тот же объект при нескольких вызовах.

Type Parameters:
T - тип элементов, если они были, в итераторе
Returns:
пустой итератор списка
Since:
1.7

emptyEnumeration

public static <T> Enumeration<T> emptyEnumeration()
Возвращает перечисление без элементов. Точнее,
  • hasMoreElements всегда возвращает false.
  • nextElement всегда выбрасывает NoSuchElementException.

Реализации этого метода могут, но не обязаны, возвращать один и тот же объект при нескольких вызовах.

Type Parameters:
T - класс объектов в перечислении
Returns:
пустое перечисление
Since:
1.7

emptySet

public static final <T> Set<T> emptySet()
Возвращает пустое множество (неизменяемое). Это множество сериализуемо. В отличие от одноимённого поля, этот метод параметризован.

Этот пример демонстрирует безопасный способ получения пустого множества:

     Set<String> s = Collections.emptySet();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект Set для каждого вызова. Использование этого метода, вероятно, будет иметь сопоставимую стоимость с использованием одноимённого поля. (В отличие от этого метода, поле не обеспечивает типовой безопасности.)
Type Parameters:
T - класс объектов в множестве
Returns:
пустое множество
Since:
1.5
See Also:
  • EMPTY_SET

emptySortedSet

public static <E> SortedSet<E> emptySortedSet()
Возвращает пустое упорядоченное множество (неизменяемое). Это множество сериализуемо.

Этот пример демонстрирует безопасный способ получения пустого упорядоченного множества:

 
     SortedSet<String> s = Collections.emptySortedSet();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект SortedSet для каждого вызова.
Type Parameters:
E - тип элементов, если они были, в множестве
Returns:
пустое упорядоченное множество
Since:
1.8

emptyNavigableSet

public static <E> NavigableSet<E> emptyNavigableSet()
Возвращает пустое навигационное множество (неизменяемое). Это множество сериализуемо.

Этот пример демонстрирует безопасный способ получения пустого навигационного множества:

 
     NavigableSet<String> s = Collections.emptyNavigableSet();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект NavigableSet для каждого вызова.
Type Parameters:
E - тип элементов, если они были, в множестве
Returns:
пустое навигационное множество
Since:
1.8

emptyList

public static final <T> List<T> emptyList()
Возвращает пустой список (неизменяемый). Этот список сериализуем.

Этот пример демонстрирует безопасный способ получения пустого списка:

     List<String> s = Collections.emptyList();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект List для каждого вызова. Использование этого метода, вероятно, будет иметь сопоставимую стоимость с использованием одноимённого поля. (В отличие от этого метода, поле не обеспечивает типовой безопасности.)
Type Parameters:
T - тип элементов, если они были, в списке
Returns:
пустой неизменяемый список
Since:
1.5
See Also:
  • EMPTY_LIST

emptyMap

public static final <K, V> Map<K,V> emptyMap()
Возвращает пустое отображение (неизменяемое). Это отображение сериализуемо.

Этот пример демонстрирует безопасный способ получения пустого отображения:

     Map<String, Date> s = Collections.emptyMap();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект Map для каждого вызова. Использование этого метода, вероятно, будет иметь сопоставимую стоимость с использованием одноимённого поля. (В отличие от этого метода, поле не обеспечивает типовой безопасности.)
Type Parameters:
K - класс ключей отображения
V - класс значений отображения
Returns:
пустое отображение
Since:
1.5
See Also:
  • EMPTY_MAP

emptySortedMap

public static final <K, V> SortedMap<K,V> emptySortedMap()
Возвращает пустое упорядоченное отображение (неизменяемое). Это отображение сериализуемо.

Этот пример демонстрирует безопасный способ получения пустого отображения:

 
     SortedMap<String, Date> s = Collections.emptySortedMap();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект SortedMap для каждого вызова.
Type Parameters:
K - класс ключей отображения
V - класс значений отображения
Returns:
пустое упорядоченное отображение
Since:
1.8

emptyNavigableMap

public static final <K, V> NavigableMap<K,V> emptyNavigableMap()
Возвращает пустое навигационное отображение (неизменяемое). Это отображение сериализуемо.

Этот пример демонстрирует безопасный способ получения пустого отображения:

 
     NavigableMap<String, Date> s = Collections.emptyNavigableMap();
 
Implementation Note:
Реализации этого метода не обязаны создавать отдельный объект NavigableMap для каждого вызова.
Type Parameters:
K - класс ключей отображения
V - класс значений отображения
Returns:
пустое навигационное отображение
Since:
1.8

singleton

public static <T> Set<T> singleton(T o)
Возвращает неизменяемое множество, содержащее только указанный объект. Возвращаемое множество сериализуемо.
Тип параметров:
T - класс объектов в множестве
Параметры:
o - единственный объект, который будет сохранён в возвращаемом множестве.
Возвращает:
неизменяемое множество, содержащее только указанный объект.

singletonList

public static <T> List<T> singletonList(T o)
Возвращает неизменяемый список, содержащий только указанный объект. Возвращаемый список сериализуем.
Тип параметров:
T - класс объектов в списке
Параметры:
o - единственный объект, который будет сохранён в возвращаемом списке.
Возвращает:
неизменяемый список, содержащий только указанный объект.
С момента:
1.3

singletonMap

public static <K, V> Map<K,V> singletonMap(K key, V value)
Возвращает неизменяемую карту, отображающую только указанный ключ на указанное значение. Возвращаемая карта сериализуема.
Тип параметров:
K - класс ключей карты
V - класс значений карты
Параметры:
key - единственный ключ, который будет сохранён в возвращаемой карте.
value - значение, которому возвращаемая карта отображает key.
Возвращает:
неизменяемую карту, содержащую только указанное отображение ключ-значение.
С момента:
1.3

nCopies

public static <T> List<T> nCopies(int n, T o)
Возвращает неизменяемый список, состоящий из n копий указанного объекта. Новый выделенный объект данных невелик (он содержит единственную ссылку на объект данных). Этот метод полезен в сочетании с методом List.addAll для увеличения списков. Возвращаемый список сериализуем.
Тип параметров:
T - класс копируемого объекта и объектов в возвращаемом списке.
Параметры:
n - количество элементов в возвращаемом списке.
o - элемент, который будет появляться многократно в возвращаемом списке.
Возвращает:
неизменяемый список, состоящий из n копий указанного объекта.
Исключения:
IllegalArgumentException - если n < 0
См. также:
  • List.addAll(Collection)
  • List.addAll(int, Collection)

reverseOrder

public static <T> Comparator<T> reverseOrder()
Возвращает компаратор, который накладывает обратный порядок естественного упорядочения на коллекцию объектов, которые реализуют интерфейс Comparable. (Естественное упорядочение — это порядок, накладываемый собственным методом compareTo объектов). Это позволяет использовать простой подход для сортировки (или поддержания) коллекций (или массивов) объектов, которые реализуют интерфейс Comparable в обратном естественном порядке. Например, предположим, что a — это массив строк. Тогда:
          Arrays.sort(a, Collections.reverseOrder());
 
сортирует массив в обратном лексикографическом (алфавитном) порядке.

Возвращаемый компаратор сериализуем.

Тип параметров:
T - класс сравниваемых объектов компаратором
Возвращает:
Компаратор, который накладывает обратный порядок естественного упорядочения на коллекцию объектов, которые реализуют интерфейс Comparable.
См. также:
  • Comparable

reverseOrder

public static <T> Comparator<T> reverseOrder(Comparator<T> cmp)
Возвращает компаратор, который накладывает обратный порядок указанного компаратора. Если указанный компаратор null, этот метод эквивалентен reverseOrder() (иначе говоря, он возвращает компаратор, который накладывает обратный порядок естественного упорядочения на коллекцию объектов, которые реализуют интерфейс Comparable).

Возвращаемый компаратор сериализуем (предполагая, что указанный компаратор также сериализуем или null).

Тип параметров:
T - класс сравниваемых объектов компаратором
Параметры:
cmp - компаратор, порядок которого будет изменён на обратный возвращаемым компаратором или null
Возвращает:
Компаратор, который накладывает обратный порядок указанного компаратора.
С момента:
1.5

enumeration

public static <T> Enumeration<T> enumeration(Collection<T> c)
Возвращает перечисление над указанной коллекцией. Это обеспечивает взаимодействие со старыми API, которые требуют перечисления в качестве входного параметра.

Итератор, возвращаемый вызовом Enumeration.asIterator(), не поддерживает удаление элементов из указанной коллекции. Это необходимо, чтобы избежать непреднамеренного увеличения возможностей возвращаемого перечисления.

Тип параметров:
T - класс объектов в коллекции
Параметры:
c - коллекция, для которой необходимо вернуть перечисление.
Возвращает:
перечисление над указанной коллекцией.
См. также:
  • Enumeration

list

public static <T> ArrayList<T> list(Enumeration<T> e)
Возвращает список ArrayList, содержащий элементы, возвращаемые указанным перечислением в порядке их возврата перечислением. Этот метод обеспечивает взаимодействие между старыми API, возвращающими перечисления, и новыми API, которые требуют коллекций.
Тип параметров:
T - класс объектов, возвращаемых перечислением
Параметры:
e - перечисление, предоставляющее элементы для возвращаемого списка ArrayList
Возвращает:
список ArrayList, содержащий элементы, возвращаемые указанным перечислением.
С момента:
1.4
См. также:
  • Enumeration
  • ArrayList

frequency

public static int frequency(Collection<?> c, Object o)
Возвращает количество элементов в указанной коллекции, равных указанному объекту. Более формально, возвращает количество элементов e в коллекции таком, что Objects.equals(o, e).
Параметры:
c - коллекция, в которой необходимо определить частоту o
o - объект, частота которого должна быть определена
Возвращает:
количество элементов в c равных o
Исключения:
NullPointerException - если c равно null
С момента:
1.5

disjoint

public static boolean disjoint(Collection<?> c1, Collection<?> c2)
Возвращает true если две указанные коллекции не имеют общих элементов.

Необходимо соблюдать осторожность при использовании этого метода на коллекциях, которые не соответствуют общему соглашению для Collection. Реализации могут выбрать итерацию по любой коллекции и проверку на наличие в другой коллекции (или выполнить любое эквивалентное вычисление). Если обе коллекции используют нестандартный тест на равенство (как в SortedSet, чей порядок не совместим с equals, или в наборе ключей IdentityHashMap), обе коллекции должны использовать тот же нестандартный тест на равенство, иначе результат этого метода не определён.

Также необходимо соблюдать осторожность при использовании коллекций, имеющих ограничения на элементы, которые они могут содержать. Реализации коллекций могут выбрасывать исключения для любых операций с элементами, которые они считают недопустимыми. Для абсолютной безопасности указанные коллекции должны содержать только элементы, которые являются допустимыми элементами для обеих коллекций.

Обратите внимание, что разрешается передать одну и ту же коллекцию в обоих параметрах, в этом случае метод вернёт true тогда и только тогда, когда коллекция пуста.

Параметры:
c1 - коллекция
c2 - коллекция
Возвращает:
true если две указанные коллекции не имеют общих элементов.
Исключения:
NullPointerException - если любая из коллекций null.
NullPointerException - если одна коллекция содержит недопустимый элемент, и этот элемент null не является допустимым элементом для другой коллекции. (необязательно)
ClassCastException - если одна коллекция содержит элемент, тип которого непригоден для другой коллекции. (необязательно)
С момента:
1.5

addAll

@SafeVarargs public static <T> boolean addAll(Collection<? super T> c, T... elements)
Добавляет все указанные элементы в указанную коллекцию. Элементы, которые необходимо добавить, могут быть указаны по отдельности или в виде массива. Поведение этого вспомогательного метода аналогично поведению cc.addAll(Collections.unmodifiableList(Arrays.asList(elements))).

Когда элементы указываются по отдельности, этот метод предоставляет удобный способ добавить несколько элементов в существующую коллекцию:

     Collections.addAll(flavors, "Peaches 'n Plutonium", "Rocky Racoon");
 
Параметры типа:
T - класс элементов для добавления и класса коллекции
Параметры:
c - коллекция, в которую elements должны быть вставлены
elements - элементы, которые необходимо вставить в c
Возвращает:
true если коллекция изменилась в результате вызова
Исключения:
UnsupportedOperationException - если c не поддерживает операцию add
NullPointerException - если elements содержит один или несколько нулевых значений, а c не допускает нулевых элементов, или если c или elements являются null
IllegalArgumentException - если какой-либо атрибут значения в elements препятствует его добавлению в c
С:
1.5
См. также:
  • Collection.addAll(Collection)

newSetFromMap

public static <E> Set<E> newSetFromMap(Map<E,Boolean> map)
Возвращает множество, поддерживаемое указанной картой. Полученное множество отображает ту же упорядоченность, конкурентность и характеристики производительности, что и базовая карта. По сути, этот фабричный метод предоставляет реализацию Set, соответствующую любой реализации Map. Нет необходимости использовать этот метод с реализацией Map, которая уже имеет соответствующую реализацию Set (например, HashMap или TreeMap).

Каждый вызов метода на множестве, возвращенном этим методом, приводит к точно одному вызову метода на базовой карте или ее keySet представлении, за одним исключением. Метод addAll реализован как последовательность вызовов put на базовой карте.

Указанная карта должна быть пустой в момент вызова этого метода и не должна напрямую обращаться к ней после возврата этого метода. Эти условия гарантируются, если карта создается пустой, передается непосредственно в этот метод, и на карту не сохраняется ссылка, как показано в следующем фрагменте кода:

    Set<Object> weakHashSet = Collections.newSetFromMap(
        new WeakHashMap<Object, Boolean>());
 
Параметры типа:
E - класс ключей карты и объектов в возвращаемом множестве
Параметры:
map - базовая карта
Возвращает:
множество, поддерживаемое картой
Исключения:
IllegalArgumentException - если map не пуста
С:
1.6

asLifoQueue

public static <T> Queue<T> asLifoQueue(Deque<T> deque)
Возвращает представление Deque в виде очереди Last-in-first-out (Lifo) Queue. Метод add сопоставлен с push, remove сопоставлен с pop и так далее. Это представление может быть полезно, когда вам нужен метод, требующий Queue, но вам нужна упорядоченность Lifo.

Каждый вызов метода на очереди, возвращенной этим методом, приводит к точно одному вызову метода на базовой очереди, за одним исключением. Метод addAll реализован как последовательность вызовов addFirst на базовой очереди.

Параметры типа:
T - класс объектов в очереди
Параметры:
deque - очередь
Возвращает:
очередь
С:
1.6

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collections.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API