Разное

Collections java методы: Класс Collections — Java программирование

Java | Типы коллекций. Интерфейс Collection

Последнее обновление: 30.04.2018

Для хранения наборов данных в Java предназначены массивы. Однако их не всегда удобно использовать, прежде всего потому, что они имеют фиксированную длину. Эту проблему в Java решают коллекции. Однако суть не только в гибких по размеру наборах объектов, но в и том, что классы коллекций реализуют различные алгоритмы и структуры данных, например, такие как стек, очередь, дерево и ряд других.

Классы коллекций располагаются в пакете java.util, поэтому перед применением коллекций следует подключить данный пакет.

Хотя в Java существует множество коллекций, но все они образуют стройную и логичную систему. Во-первых, в основе всех коллекций лежит применение того или иного интерфейса, который определяет базовый функционал. Среди этих интерфейсов можно выделить следующие:

  • Collection: базовый интерфейс для всех коллекций и других интерфейсов коллекций

  • Queue: наследует интерфейс Collection и представляет функционал для структур данных в виде очереди

  • Deque: наследует интерфейс Queue и представляет функционал для двунаправленных очередей

  • List: наследует интерфейс Collection и представляет функциональность простых списков

  • Set: также расширяет интерфейс Collection и используется для хранения множеств уникальных объектов

  • SortedSet: расширяет интерфейс Set для создания сортированных коллекций

  • NavigableSet: расширяет интерфейс SortedSet для создания коллекций, в которых можно осуществлять поиск по соответствию

  • Map: предназначен для созданий структур данных в виде словаря, где каждый элемент имеет определенный ключ и значение. В отличие от других интерфейсов коллекций не наследуется от интерфейса Collection

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

  • AbstractCollection: базовый абстрактный класс для других коллекций, который применяет интерфейс Collection

  • AbstractList: расширяет класс AbstractCollection и применяет интерфейс List, предназначен для создания коллекций в виде списков

  • AbstractSet: расширяет класс AbstractCollection и применяет интерфейс Set для создания коллекций в виде множеств

  • AbstractQueue: расширяет класс AbstractCollection и применяет интерфейс Queue, предназначен для создания коллекций в виде очередей и стеков

  • AbstractSequentialList: также расширяет класс AbstractList и реализует интерфейс List. Используется для создания связанных списков

  • AbstractMap: применяет интерфейс Map, предназначен для создания наборов по типу словаря с объектами в виде пары «ключ-значение»

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

  • ArrayList: простой список объектов

  • LinkedList: представляет связанный список

  • ArrayDeque: класс двунаправленной очереди, в которой мы можем произвести вставку и удаление как в начале коллекции, так и в ее конце

  • HashSet: набор объектов или хеш-множество, где каждый элемент имеет ключ — уникальный хеш-код

  • TreeSet: набор отсортированных объектов в виде дерева

  • LinkedHashSet: связанное хеш-множество

  • PriorityQueue: очередь приоритетов

  • HashMap: структура данных в виде словаря, в котором каждый объект имеет уникальный ключ и некоторое значение

  • TreeMap: структура данных в виде дерева, где каждый элемент имеет уникальный ключ и некоторое значение

Схематично всю систему коллекций вкратце можно представить следующим образом:

Интерфейс Collection

Интерфейс Collection является базовым для всех коллекций, определяя основной функционал:


public interface Collection<E> extends Iterable<E>{

	// определения методов
}

Интерфейс Collection является обобщенным и расширяет интерфейс Iterable, поэтому все объекты коллекций можно перебирать в цикле по типу for-each.

Среди методов интерфейса Collection можно выделить следующие:

  • boolean add (E item): добавляет в коллекцию объект item. При удачном добавлении возвращает true, при неудачном — false

  • boolean addAll (Collection<? extends E> col): добавляет в коллекцию все элементы из коллекции col. При удачном добавлении возвращает true, при неудачном — false

  • void clear (): удаляет все элементы из коллекции

  • boolean contains (Object item): возвращает true, если объект item содержится в коллекции, иначе возвращает false

  • boolean isEmpty (): возвращает true, если коллекция пуста, иначе возвращает false

  • Iterator<E> iterator (): возвращает объект Iterator для обхода элементов коллекции

  • boolean remove (Object item): возвращает true, если объект item удачно удален из коллекции, иначе возвращается false

  • boolean removeAll (Collection<?> col): удаляет все объекты коллекции col из текущей коллекции. Если текущая коллекция изменилась, возвращает true, иначе возвращается false

  • boolean retainAll (Collection<?> col): удаляет все объекты из текущей коллекции, кроме тех, которые содержатся в коллекции col. Если текущая коллекция после удаления изменилась, возвращает true, иначе возвращается false

  • int size (): возвращает число элементов в коллекции

  • Object[] toArray (): возвращает массив, содержащий все элементы коллекции

Все эти и остальные методы, которые имеются в интерфейсе Collection, реализуются всеми коллекциями, поэтому в целом общие принципы работы с коллекциями будут одни и те же. Единообразный интерфейс упрощает понимание и работу с различными типами коллекций. Так, добавление элемента будет производиться с помощью метода add, который принимает добавляемый элемент в качестве параметра. Для удаления вызывается метод remove().

Метод clear будет очищать коллекцию, а метод size возвращать количество элементов в коллекции.

НазадСодержаниеВперед

Класс Java.util.Collections — CoderLessons.com

Класс java.util.Collections состоит исключительно из статических методов, которые работают с коллекциями или возвращают их. Ниже приведены важные замечания о коллекциях.

  • Он содержит полиморфные алгоритмы, которые работают с коллекциями, «обертки», которые возвращают новую коллекцию, подкрепленную указанной коллекцией.

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

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

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

Объявление класса

Ниже приводится объявление для класса java.util.Collections

public class Collections
   extends Object

поле

Ниже приведены поля для класса java.util.Collections

  • статический список EMPTY_LIST – это пустой список (неизменяемый).

  • статическая карта EMPTY_MAP – это пустая карта (неизменяемая).

  • статический набор EMPTY_SET – это пустой набор (неизменяемый).

статический список EMPTY_LIST – это пустой список (неизменяемый).

статическая карта EMPTY_MAP – это пустая карта (неизменяемая).

статический набор EMPTY_SET – это пустой набор (неизменяемый).

Методы класса

Sr.No. Метод и описание
1 статические <T> логические addAll (элементы коллекции <? super T> c, T …)

Этот метод добавляет все указанные элементы в указанную коллекцию.

2 статическая <T> очередь <T> asLifoQueue (Deque <T> deque)

Этот метод возвращает представление Deque как очередь «первым пришел – первым вышел» (Lifo).

3 static <T> int binarySearch (список <? extends Comparable <? super T >>, клавиша T)

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

4 static <T> int binarySearch (список <? extends T>, клавиша T, Comparator <? super T <c)

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

5 статическая <E> коллекция <E> checkedCollection (коллекция <E> c, тип <E>)

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

6 static <E> list <E> checkedList (список List <E>, тип Class <E>)

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

7 static <K, V> Map <K, V> checkedMap (Map <K, V> m, класс <K> keyType, класс <V> valueType)

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

8 static <E> Set <E> checkedSet (указан <E> s, тип Class <E>)

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

9 static <K, V> SortedMap <K, V> checkedSortedMap (SortedMap <K, V> m, класс <K> keyType, класс <V> valueType)

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

10 статический <E> SortedSet <E> checkedSortedSet (SortedSet <E> s, тип Class <E>)

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

11 статическая <T> пустая копия (List <? super T> dest, List <? extends T> src)

Этот метод копирует все элементы из одного списка в другой.

12 статический логический дизъюнкт (коллекция <?> c1, коллекция <?> c2)

Этот метод возвращает true, если две указанные коллекции не имеют общих элементов.

13 статический <T> список <T> emptyList ()

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

14 статическая <K, V> карта <K, V> emptyMap ()

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

15 статический <T> Set <T> emptySet ()

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

16 статическое перечисление <T> перечисление <T> (коллекция <T> c)

Этот метод возвращает перечисление по указанной коллекции.

17 статическое заполнение <T> void (список <? super T>, T obj)

Этот метод заменяет все элементы указанного списка на указанный элемент.

18 Частота статического int (Коллекция <?> c, Объект o)

Этот метод возвращает количество элементов в указанной коллекции, равное указанному объекту.

19 static int indexOfSubList (список <?> источник, список <?> цель)

Этот метод возвращает начальную позицию первого вхождения указанного целевого списка в указанном исходном списке или -1, если такого вхождения нет.

20 static int lastIndexOfSubList (список <?> источник, список <?> цель)

Этот метод возвращает начальную позицию последнего вхождения указанного целевого списка в указанном исходном списке или -1, если такого вхождения нет.

21 статический список <T> ArrayList <T> (перечисление <T> e)

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

22 static <T расширяет Object & Comparable <? super T>> T max (Коллекция <? extends T> coll)

Этот метод возвращает максимальный элемент данной коллекции в соответствии с естественным порядком ее элементов.

23 static <T> T max (коллекция <? extends T> coll, Comparator <? super T> comp)

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

24 static <T расширяет Object & Comparable <? super T >> T min (Коллекция <? extends T> coll)

Этот метод Возвращает минимальный элемент данной коллекции в соответствии с естественным порядком ее элементов.

25 static <T> T min (коллекция <? extends T> coll, Comparator <? super T> comp)

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

26 статические <T> список <T> nCopies (int n, T o)

Этот метод возвращает неизменный список, состоящий из n копий указанного объекта.

27 static <E> Set <E> newSetFromMap (Map <E, Boolean> map)

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

28 статическое <T> логическое replaceAll (список List <T>, T oldVal, T newVal)

Этот метод заменяет все вхождения одного указанного значения в списке другим.

29 static void reverse (список <?> список)

Этот метод меняет порядок элементов в указанном списке.

30 статический <T> компаратор <T> reverseOrder ()

Этот метод возвращает компаратор, который налагает обратное естественное упорядочение на коллекцию объектов, которые реализуют интерфейс Comparable.

31 статический <T> компаратор <T> reverseOrder (компаратор <T> cmp)

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

32 static void rotate (список <?>, int расстояние)

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

33 static void shuffle (список <?> список)

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

34 static void shuffle (список <?>, случайный rnd)

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

35 статический <T> набор <T> синглтона (T o)

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

36 статический <T> список <T> singletonList (T o)

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

37 статическое <K, V> Map <K, V> singletonMap (ключ K, значение V)

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

38 статический <T расширяет Comparable <? super T >> void sort (список <T>)

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

39 статическая сортировка <T> void (список List <T>, Comparator <? super T> c)

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

40 статический обмен пустот (список <?> список, int i, int j)

Этот метод меняет местами элементы в указанных позициях в указанном списке.

41 static <T> Collection <T> synchronizedCollection (Collection <T> c)

Этот метод возвращает синхронизированную (потокобезопасную) коллекцию, поддерживаемую указанной коллекцией.

42 static <T> List <T> synchronizedList (список List <T>)

Этот метод возвращает синхронизированный (потокобезопасный) список, поддерживаемый указанным списком.

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

Этот метод возвращает синхронизированную (поточно-ориентированную) карту, поддерживаемую указанной картой.

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

Этот метод возвращает синхронизированный (потокобезопасный) набор, поддерживаемый указанным набором.

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

Этот метод возвращает синхронизированную (поточно-ориентированную) отсортированную карту, подкрепленную указанной отсортированной картой.

46 статический <T> SortedSet <T> synchronizedSortedSet (SortedSet <T> s)

Этот метод возвращает синхронизированный (поточно-ориентированный) отсортированный набор, поддерживаемый указанным отсортированным набором.

47 статическая <T> коллекция <T> unmodifiableCollection (коллекция <? extends T> c)

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

48 статический <T> список <T> unmodifiableList (список List <? extends T>)

Этот метод возвращает неизменяемое представление указанного списка.

49 static <K, V> Map <K, V> unmodifiableMap (Map <? расширяет K,? расширяет V> m)

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

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

Этот метод возвращает неизменяемое представление указанного набора.

51 статическое <K, V> SortedMap <K, V> unmodifiableSortedMap (SortedMap <K,? extends V> m)

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

52 статический <T> SortedSet <T> unmodifiableSortedSet (SortedSet <T> s)

Этот метод возвращает неизменяемое представление указанного отсортированного набора.

Этот метод добавляет все указанные элементы в указанную коллекцию.

Этот метод возвращает представление Deque как очередь «первым пришел – первым вышел» (Lifo).

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

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

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

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

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

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

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

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

Этот метод копирует все элементы из одного списка в другой.

Этот метод возвращает true, если две указанные коллекции не имеют общих элементов.

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

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

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

Этот метод возвращает перечисление по указанной коллекции.

Этот метод заменяет все элементы указанного списка на указанный элемент.

Этот метод возвращает количество элементов в указанной коллекции, равное указанному объекту.

Этот метод возвращает начальную позицию первого вхождения указанного целевого списка в указанном исходном списке или -1, если такого вхождения нет.

Этот метод возвращает начальную позицию последнего вхождения указанного целевого списка в указанном исходном списке или -1, если такого вхождения нет.

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

Этот метод возвращает максимальный элемент данной коллекции в соответствии с естественным порядком ее элементов.

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

Этот метод Возвращает минимальный элемент данной коллекции в соответствии с естественным порядком ее элементов.

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

Этот метод возвращает неизменный список, состоящий из n копий указанного объекта.

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

Этот метод заменяет все вхождения одного указанного значения в списке другим.

Этот метод меняет порядок элементов в указанном списке.

Этот метод возвращает компаратор, который налагает обратное естественное упорядочение на коллекцию объектов, которые реализуют интерфейс Comparable.

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

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

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

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

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

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

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

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

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

Этот метод меняет местами элементы в указанных позициях в указанном списке.

Этот метод возвращает синхронизированную (потокобезопасную) коллекцию, поддерживаемую указанной коллекцией.

Этот метод возвращает синхронизированный (потокобезопасный) список, поддерживаемый указанным списком.

Этот метод возвращает синхронизированную (поточно-ориентированную) карту, поддерживаемую указанной картой.

Этот метод возвращает синхронизированный (потокобезопасный) набор, поддерживаемый указанным набором.

Этот метод возвращает синхронизированную (поточно-ориентированную) отсортированную карту, подкрепленную указанной отсортированной картой.

Этот метод возвращает синхронизированный (поточно-ориентированный) отсортированный набор, поддерживаемый указанным отсортированным набором.

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

Этот метод возвращает неизменяемое представление указанного списка.

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

Этот метод возвращает неизменяемое представление указанного набора.

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

Этот метод возвращает неизменяемое представление указанного отсортированного набора.

Методы унаследованы

Этот класс наследует методы от следующих классов –

Документация JDK 19 — Главная

  1. Главная
  2. Ява
  3. Java SE
  4. 19

Обзор

  • Прочтите меня
  • Примечания к выпуску
  • Что нового
  • Руководство по миграции
  • Загрузить JDK
  • Руководство по установке
  • Формат строки версии

Инструменты

  • Технические характеристики инструментов JDK
  • Руководство пользователя JShell
  • Руководство по JavaDoc
  • Руководство пользователя средства упаковки

Язык и библиотеки

  • Обновления языка
  • Основные библиотеки
  • HTTP-клиент JDK
  • Учебники по Java
  • Модульный JDK
  • Руководство программиста API бортового регистратора
  • Руководство по интернационализации

Технические характеристики

  • Документация API
  • Язык и ВМ
  • Имена стандартных алгоритмов безопасности Java
  • банок
  • Собственный интерфейс Java (JNI)
  • Инструментальный интерфейс JVM (JVM TI)
  • Сериализация
  • Проводной протокол отладки Java (JDWP)
  • Спецификация комментариев к документации для стандартного доклета
  • Прочие характеристики

Безопасность

  • Руководство по безопасному кодированию
  • Руководство по безопасности

Виртуальная машина HotSpot

  • Руководство по виртуальной машине Java
  • Настройка сборки мусора

Управление и устранение неполадок

  • Руководство по устранению неполадок
  • Руководство по мониторингу и управлению
  • Руководство по JMX

Client Technologies

  • Руководство по специальным возможностям Java

Документация JDK 19 — Главная

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *