Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpCoInr 208 of 322 menu
◀ ▶

Продвинутые коллекции в Java

В основном учебнике уже разобраны списки, множества и обычные карты. Здесь пойдем дальше: интерфейсы для очередей, упорядоченные деревья, свои правила сравнения и способы запретить случайные правки коллекции.

Все примеры опираются на стандартный пакет java.util и актуальны для Java 27. Часть типов появилась давно, но остается базой для сервисов, планировщиков задач и кэшей.

Одна и та же задача «хранить и доставать элементы» может решаться разными структурами. Список подходит для произвольного доступа по индексу, очередь фиксирует порядок «кто раньше встал», дерево держит ключи отсортированными:

import java.util.ArrayDeque; import java.util.List; import java.util.Queue; import java.util.TreeSet; public class Main { public static void main(String[] args) { List<String> log = List.of("start", "save", "stop"); Queue<String> fifo = new ArrayDeque<>(log); System.out.println(fifo.poll()); TreeSet<Integer> ids = new TreeSet<>(List.of(30, 10, 20)); System.out.println(ids.first()); } }

Из очереди первым ушел "start", а множество вернуло наименьший id 10, хотя в исходном списке числа шли в другом порядке. Дальше разберем каждый семейство типов и методы карт, которые избавляют от ручных проверок «есть ли ключ».

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить