Коллекция Java
Collection в Java является интерфейсом, который представляет собой контейнер, содержащий группу объектов. Он обеспечивает широкий спектр операций для работы с данными, таких как добавление, удаление, поиск и изменение элементов коллекции. Collection является частью Java Collections Framework, которая предлагает удобные структуры данных и алгоритмы для работы с коллекциями.
В Java есть несколько реализаций интерфейса Collection: List, Set и Queue. Давайте рассмотрим каждую из них подробнее.
-
List:
List представляет собой упорядоченный список элементов, которые могут содержать дубликаты. Он имеет много полезных методов, таких как add(), remove(), get(), contains() и т.д.
List<String> names = new ArrayList<>(); names.add("Алексей"); names.add("Иван"); names.add("Мария"); System.out.println(names.get(1)); // Выведет "Иван" System.out.println(names.contains("Андрей")); // Выведет false -
Set:
Set представляет коллекцию уникальных элементов без определенного порядка. Он не допускает дубликаты и имеет методы, такие как add(), remove(), contains() и др.
Set<Integer> numbers = new HashSet<>(); numbers.add(1); numbers.add(2); numbers.add(3); System.out.println(numbers.contains(2)); // Выведет true System.out.println(numbers.size()); // Выведет 3 -
Queue:
Queue представляет структуру данных, основанную на принципе "первым пришел, первым обслужен". Он имеет методы для добавления элемента в конец очереди (offer()), удаления элемента из начала очереди (poll()), а также для просмотра первого элемента (peek()).
Queue<String> queue = new LinkedList<>(); queue.offer("Первый"); queue.offer("Второй"); queue.offer("Третий"); System.out.println(queue.poll()); // Выведет "Первый" System.out.println(queue.peek()); // Выведет "Второй"
Кроме того, Java предлагает еще множество других классов и интерфейсов для работы с коллекциями, таких как Map, Stack, TreeSet, LinkedHashMap и многие другие. Важно выбрать правильную структуру данных в зависимости от задачи.
Надеюсь, эти примеры помогут вам понять основы работы с классом Collection в Java. В случае дополнительных вопросов, не стесняйтесь задавать!