— Привет, Амиго. Сегодня хочу рассказать тебе о коллекциях. Коллекциями/контейнерами в Java принято называть классы, основная цель которых – хранить набор других элементов. Пример такого класса, с которым ты уже знаком, есть – это ArrayList.

— В Java коллекции делятся на три основных группы: Set — множество, List — список, Map — словарь (или карта).

— И в чем же их отличие?

— Начну с Set. Представь много туфель сброшенных в кучу – это Set — множество. В set можно добавить элемент, поискать его или удалить. Но у элементов там нет строго заданного порядка!

Лекция по коллекциям - 1

— Не густо…

— А теперь представь ту же кучу обуви, но выставленную вдоль стенки. Теперь в ней появился порядок. У каждого элемента есть его номер. И можно просто взять «пару номер 7» по её номеру. Это – List – список. Мы можем добавить элемент в начало списка или в середину, или убрать его, и сделать это просто по его номеру.

Лекция по коллекциям - 2

— Понятно. А Map?

— Представь ту же обувь, но теперь у каждой пары есть табличка с именем «Коля», «Вася», «Аня». Это Map – мэп, (его еще часто называют «карта» или «словарь»). У каждого элемента есть его уникальное название, по которому к нему можно было обращаться. Уникальное название элемента ещё называют «ключом». А Map – это набор пар «ключ»-«значение». Ключ не обязательно должен быть строкой, он может быть любым типом. Map, у которого тип ключа – Integer, – это фактически List (с некоторыми отличиями).

Лекция по коллекциям - 3

— На словах понятно, но хотелось бы увидеть больше примеров.

— Примеры тебе даст Риша, а я хочу добавить еще пару слов.

— Все коллекции и контейнеры сразу после создания ничего в себе не хранят. Но в них можно постепенно добавлять элементы – тогда они будут динамически изменять свой размер.

— О, это уже интересно. А как узнать, сколько элементов в коллекции?

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

— Надеюсь.