Spec-Zone.ru › OpenJDK 8

Класс 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 List EMPTY_LIST

Пустой список (неизменяемый).

static Map EMPTY_MAP

Пустой словарь (неизменяемый).

static Set EMPTY_SET

Пустой набор (неизменяемый).

Методы

Модификатор и тип Метод и описание
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 <T> List<T> emptyList()

Возвращает пустой список (неизменяемый).

static <T> ListIterator<T> emptyListIterator()

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

static <K,V> Map<K,V> emptyMap()

Возвращает пустую карту (неизменяемую).

static <K,V> NavigableMap<K,V> emptyNavigableMap()

Возвращает пустую навигационную карту (неизменяемую).

static <E> NavigableSet<E> emptyNavigableSet()

Возвращает пустое навигационное множество (неизменяемое).

static <T> Set<T> emptySet()

Возвращает пустое множество (неизменяемое).

static <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)

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

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 книги Джона Бентли «Programming Pearls» (Addison-Wesley, 1986).

Параметры:
list - список, который нужно повернуть.
distance - расстояние для поворота списка. Нет ограничений на это значение; оно может быть нулевым, отрицательным или больше, чем list.size().
Исключения:
UnsupportedOperationException - если указанный список или его итератор списка не поддерживает операцию set.
С версии:
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)). (Этот метод не влияет на размер списка.)

Параметры типа:
T - класс объектов в списке
Параметры:
list - список, в котором необходимо произвести замену.
oldVal - старое значение, подлежащее замене.
newVal - новое значение, на которое будет заменено oldVal.
Возвращает:
true если list содержал один или несколько элементов e таких, что (oldVal==null ? e==null : oldVal.equals(e)).
Исключения:
UnsupportedOperationException - если указанный список или его итератор не поддерживает операцию set.
С тех пор:
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())

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

Параметры:
source - список, в котором следует искать первое вхождение target.
target - список, который нужно найти как подсписок source.
Возвращает:
начальную позицию первого вхождения указанного целевого списка в указанный исходный список или -1, если такого вхождения нет.
С тех пор:
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())

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

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

unmodifiableCollection

public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)

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

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

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

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

unmodifiableSet

public static <T> Set<T> unmodifiableSet(Set<? extends T> s)

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

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

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

unmodifiableSortedSet

public static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)

Возвращает неизменяемый вид указанного отсортированного множества. Этот метод позволяет модулям предоставлять пользователям «только для чтения» доступ к внутренним отсортированным множествам. Операции запроса к возвращаемому отсортированному множеству «читают» в указанное отсортированное множество. Попытки изменить возвращаемое отсортированное множество, прямые, через его итератор или через его subSet, headSet, или tailSet представления, приводят к UnsupportedOperationException.

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

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

unmodifiableNavigableSet

public static <T> NavigableSet<T> unmodifiableNavigableSet(NavigableSet<T> s)

Возвращает неизменяемый вид указанного навигационного множества. Этот метод позволяет модулям предоставлять пользователям «только для чтения» доступ к внутренним навигационным множествам. Операции запроса к возвращаемому навигационному множеству «читают» в указанное навигационное множество. Попытки изменить возвращаемое навигационное множество, прямые, через его итератор или через его subSet, headSet, или tailSet представления, приводят к UnsupportedOperationException.

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

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

unmodifiableList

public static <T> List<T> unmodifiableList(List<? extends T> list)

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

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

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

unmodifiableMap

public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)

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

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

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

unmodifiableSortedMap

public static <K,V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> m)

Возвращает неизменяемый вид указанной отсортированной карты. Этот метод позволяет модулям предоставлять пользователям «только для чтения» доступ к внутренним отсортированным картам. Операции запроса к возвращаемой отсортированной карте «читают» в указанную отсортированную карту. Попытки изменить возвращаемую отсортированную карту, прямые, через ее представления коллекций или через её subMap, headMap, или tailMap представления, приводят к UnsupportedOperationException.

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

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

unmodifiableNavigableMap

public static <K,V> NavigableMap<K,V> unmodifiableNavigableMap(NavigableMap<K,? extends V> m)

Возвращает неизменяемый вид указанной навигационной карты. Этот метод позволяет модулям предоставлять пользователям «только для чтения» доступ к внутренним навигационным картам. Операции запроса к возвращаемой навигационной карте «читают» в указанную навигационную карту. Попытки изменить возвращаемую навигационную карту, прямые, через ее представления коллекций или через её subMap, headMap, или tailMap представления, приводят к UnsupportedOperationException.

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

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

synchronizedCollection

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 - коллекция, которая будет "упакована" в синхронизированную коллекцию.
Возвращает:
синхронизированный вид указанной коллекции.

synchronizedSet

public static <T> Set<T> synchronizedSet(Set<T> s)

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

Необходимо, чтобы пользователь вручную синхронизировал возвращённое множество при итерировании по нему:

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 - множество, которое будет "упаковано" в синхронизированное множество.
Возвращает:
синхронизированный вид указанного множества.

synchronizedSortedSet

public static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s)

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

Необходимо, чтобы пользователь вручную синхронизировал возвращённое отсортированное множество при итерировании по нему или любым его subSet, headSet, или tailSet представлениям.

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 - отсортированное множество, которое будет "упаковано" в синхронизированное отсортированное множество.
Возвращает:
синхронизированный вид указанного отсортированного множества.

synchronizedNavigableSet

public static <T> NavigableSet<T> synchronizedNavigableSet(NavigableSet<T> s)

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

Необходимо, чтобы пользователь вручную синхронизировал возвращённое навигационное множество при итерировании по нему или любым его subSet, headSet, или tailSet представлениям.

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

synchronizedList

public static <T> List<T> synchronizedList(List<T> list)

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

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

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 - список, который будет "упакован" в синхронизированный список.
Возвращает:
синхронизированный вид указанного списка.

synchronizedMap

public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)

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

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

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());
  }
Несоблюдение этого совета может привести к непредсказуемому поведению.

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

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

synchronizedSortedMap

public static <K,V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> m)

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

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

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 = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
Несоблюдение этого совета может привести к непредсказуемому поведению.

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

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

synchronizedNavigableMap

public static <K,V> NavigableMap<K,V> synchronizedNavigableMap(NavigableMap<K,V> m)

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

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

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());
  }
Несоблюдение этого совета может привести к непредсказуемому поведению.

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

Параметры типа:
K - класс ключей отображения
V - класс значений отображения
Параметры:
m - навигационное отображение, которое будет "упаковано" в синхронизированное навигационное отображение
Возвращает:
синхронизированный вид указанного навигационного отображения
С:
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 всякий раз, когда это допускает основная коллекция.

Параметры типа:
E - класс объектов в коллекции
Параметры:
c - коллекция, для которой требуется динамически типизированный вид
type - тип элемента, который c разрешено содержать
Возвращает:
динамически типизированный вид указанной коллекции
С:
1.5

checkedQueue

public static <E> Queue<E> checkedQueue(Queue<E> queue,
                                        Class<E> type)

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

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

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

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

Параметры типа:
E - класс объектов в очереди
Параметры:
queue - очередь, для которой требуется динамически типизированный вид
type - тип элемента, который queue разрешено содержать
Возвращает:
динамически типизированный вид указанной очереди
С:
1.8

checkedSet

public static <E> Set<E> checkedSet(Set<E> s,
                                    Class<E> type)

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

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

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

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

Параметры типа:
E - класс объектов в множестве
Параметры:
s - множество, для которого требуется динамически типизированный вид
type - тип элемента, который s разрешено содержать
Возвращает:
динамически типизированный вид указанного множества
С:
1.5

checkedSortedSet

public static <E> SortedSet<E> checkedSortedSet(SortedSet<E> s,
                                                Class<E> type)

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

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

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

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

Параметры типа:
E - класс объектов в множестве
Параметры:
s - упорядоченное множество, для которого требуется динамически типизированный вид
type - тип элемента, который s разрешено содержать
Возвращает:
динамически типизированный вид указанного упорядоченного множества
С:
1.5

checkedNavigableSet

public static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s,
                                                      Class<E> type)

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

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

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

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

Параметры типа:
E - класс объектов в множестве
Параметры:
s - навигационное множество, для которого требуется динамически типизированный вид
type - тип элемента, который s разрешено содержать
Возвращает:
динамически типизированный вид указанного навигационного множества
С:
1.8

checkedList

public static <E> List<E> checkedList(List<E> list,
                                      Class<E> type)

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

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

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

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

Параметры типа:
E - класс объектов в списке
Параметры:
list - список, для которого требуется динамически типизированный вид
type - тип элемента, который list разрешено содержать
Возвращает:
динамически типизированный вид указанного списка
С:
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 считается значением любого ссылочного типа, возвращаемая карта разрешает вставку ключей или значений null всякий раз, когда это позволяет базовая карта.

Параметры типа:
K - класс ключей карты
V - класс значений карты
Параметры:
m - карта, для которой требуется динамически типизированный вид
keyType - тип ключа, который m разрешено содержать
valueType - тип значения, который m разрешено содержать
Возвращает:
динамически типизированный вид указанной карты
С:
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 считается значением любого ссылочного типа, возвращаемая карта допускает вставку нулевых ключей или значений, когда это делает базовая карта.

Параметры типа:
K - класс ключей карты
V - класс значений карты
Параметры:
m - карта, для которой должно быть возвращено динамически типизированное представление
keyType - тип ключа, который m разрешено хранить
valueType - тип значения, которое m разрешено хранить
Возвращает:
динамически типизированное представление указанной карты
С версии:
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 считается значением любого ссылочного типа, возвращаемая карта допускает вставку нулевых ключей или значений, когда это делает базовая карта.

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

emptyIterator

public static <T> Iterator<T> emptyIterator()

Возвращает итератор, не имеющий элементов. Точнее,

  • hasNext всегда возвращает false.
  • next всегда вызывает NoSuchElementException.
  • remove всегда вызывает IllegalStateException.

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

Параметры типа:
T - тип элементов, если бы они были, в итераторе
Возвращает:
пустой итератор
С версии:
1.7

emptyListIterator

public static <T> ListIterator<T> emptyListIterator()

Возвращает итератор списка, не имеющий элементов. Точнее,

  • hasNext и hasPrevious всегда возвращают false.
  • next и previous всегда вызывают NoSuchElementException.
  • remove и set всегда вызывают IllegalStateException.
  • add всегда вызывает UnsupportedOperationException.
  • nextIndex всегда возвращает 0.
  • previousIndex всегда возвращает -1.

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

Параметры типа:
T - тип элементов, если бы они были, в итераторе
Возвращает:
пустой итератор списка
С версии:
1.7

emptyEnumeration

public static <T> Enumeration<T> emptyEnumeration()

Возвращает перечисление, не имеющее элементов. Точнее,

  • hasMoreElements всегда возвращает false.
  • nextElement всегда вызывает NoSuchElementException.

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

Параметры типа:
T - класс объектов в перечислении
Возвращает:
пустое перечисление
С версии:
1.7

emptySet

public static final <T> Set<T> emptySet()

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

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

Set<String> s = Collections.emptySet();
Примечание по реализации:
Реализации этого метода не обязательно создавать отдельный объект Set для каждого вызова. Использование этого метода, вероятно, будет иметь сопоставимую стоимость с использованием одноименного поля. (В отличие от этого метода, поле не обеспечивает безопасность типов.)
Параметры типа:
T - класс объектов в множестве
Возвращает:
пустое множество
С версии:
1.5
См. также:
EMPTY_SET

emptySortedSet

public static <E> SortedSet<E> emptySortedSet()

Возвращает пустое отсортированное множество (неизменяемое). Это множество сериализуемо.

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

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

emptyNavigableSet

public static <E> NavigableSet<E> emptyNavigableSet()

Возвращает пустое навигационное множество (неизменяемое). Это множество сериализуемо.

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

NavigableSet<String> s = Collections.emptyNavigableSet();
Примечание по реализации:
Реализации этого метода не обязательно создавать отдельный объект NavigableSet для каждого вызова.
Параметры типа:
E - тип элементов, если бы они были, в множестве
Возвращает:
пустое навигационное множество
С версии:
1.8

emptyList

public static final <T> List<T> emptyList()

Возвращает пустой список (неизменяемый). Этот список сериализуем.

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

List<String> s = Collections.emptyList();
Примечание по реализации:
Реализации этого метода не обязательно создавать отдельный объект List для каждого вызова. Использование этого метода, вероятно, будет иметь сопоставимую стоимость с использованием одноименного поля. (В отличие от этого метода, поле не обеспечивает безопасность типов.)
Параметры типа:
T - тип элементов, если бы они были, в списке
Возвращает:
пустой неизменяемый список
С версии:
1.5
См. также:
EMPTY_LIST

emptyMap

public static final <K,V> Map<K,V> emptyMap()

Возвращает пустую карту (неизменяемую). Эта карта сериализуема.

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

Map<String, Date> s = Collections.emptyMap();
Примечание по реализации:
Реализации этого метода не обязательно создавать отдельный объект Map для каждого вызова. Использование этого метода, вероятно, будет иметь сопоставимую стоимость с использованием одноименного поля. (В отличие от этого метода, поле не обеспечивает безопасность типов.)
Параметры типа:
K - класс ключей карты
V - класс значений карты
Возвращает:
пустая карта
С версии:
1.5
См. также:
EMPTY_MAP

emptySortedMap

public static final <K,V> SortedMap<K,V> emptySortedMap()

Возвращает пустую отсортированную карту (неизменяемую). Эта карта сериализуема.

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

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

emptyNavigableMap

public static final <K,V> NavigableMap<K,V> emptyNavigableMap()

Возвращает пустой навигационный map (неизменяемый). Этот map сериализуем.

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

NavigableMap<String, Date> s = Collections.emptyNavigableMap();
Замечание по реализации:
Реализации данного метода не обязаны создавать отдельный NavigableMap объект для каждого вызова.
Параметры типа:
K - класс ключей map
V - класс значений map
Возвращает:
пустой навигационный map
С тех пор, как:
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)

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

Параметры типа:
K - класс ключей map
V - класс значений map
Параметры:
key - единственный ключ, который будет храниться в возвращаемом map.
value - значение, которому возвращаемый map сопоставляет key.
Возвращает:
неизменяемый map, содержащий только указанное отображение ключ-значение.
С тех пор, как:
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 объектов.) Это позволяет использовать простой idiom для сортировки (или поддержания) коллекций (или массивов) объектов, которые реализуют интерфейс 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, которые требуют перечисления в качестве входных данных.

Параметры типа:
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 в коллекции, таких что (o == null ? e == null : o.equals(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, и null не является допустимым элементом для другой коллекции. (необязательно)
ClassCastException - если одна коллекция содержит элемент, тип которого недопустим для другой коллекции. (необязательно)
С тех пор, как:
1.5

addAll

@SafeVarargs
public static <T> boolean addAll(Collection<? super T> c,
                                              T... elements)

Добавляет все указанные элементы в заданную коллекцию. Добавляемые элементы могут быть указаны индивидуально или как массив. Поведение этого вспомогательного метода идентично поведению c.addAll(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 в качестве очереди «последний вошел — первый вышел» (LIFO). Метод add сопоставлен с push, remove сопоставлен с pop и так далее. Это представление может быть полезно, когда вы хотите использовать метод, требующий Queue, но вам нужна упорядоченность LIFO.

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

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

© 1993, 2020, 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.

Spec-Zone.ru

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