JavaRush /Курсы /Java Syntax /Лекция по коллекциям

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

Java Syntax
8 уровень , 1 лекция
Открыта

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

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

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

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

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

— Не густо…

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

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

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

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

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

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

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

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

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

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

— Надеюсь.

8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
Все возможные типы
Как тебе уже известно, всего в языке Java 8 примитивных типов. Создай по одной переменной каждого примитивного типа в классе Solution. Переменные не должны находиться в каком-либо методе.
8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
Максимальное целое
Создай по одной переменной каждого примитивного целочисленного типа в классе Solution. Этим переменным присвой максимально возможное для них значение. Никаких методов создавать не нужно.
8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
Минимальное целое
Создай по одной переменной каждого примитивного целочисленного типа в классе Solution. Этим переменным присвой минимально возможное для них значение. Никаких методов создавать не нужно.
8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
Экспонентная запись числа
Перед тобой 5 общеизвестных величин. Перепиши их в более читаемый формат — экспоненциальный. Мантисса должна представлять собой дробное число от 1.0 до 10. После изменения формата чисел реальное значение, хранимое в переменной, не должно измениться. Пример: 109.1678 — обычная форма; 1.091678E+2 — экс
8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
Бесконечность не предел
В методе main вызови метод div() 2 раза. Первый раз — с такими аргументами, чтобы вывод в консоли был "Infinity", а второй — "-Infinity". Код метода div() изменять нельзя.
8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
Странное деление
В методе main вызови метод div() с таким аргументом, чтобы вывод в консоли был "NaN". Код метода div() изменять нельзя.
8
Задача
Java Syntax Pro, 8 уровень, 1 лекция
Недоступна
5 оттенков char
В методе main() измени порядок вызова методов System.out.print() таким образом, чтобы вывод на консоль был: "Hello char". Значение переменных не изменяй. В методе main() никакого кода больше не дописывай.
Комментарии (165)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
21 апреля 2024
21.04.2024 check, мой уровень 8, немного забросил учебу, но вот снова есть время
Admin Уровень 9
17 апреля 2023
Ким носит мужские туфли?)
ivankoffpavel Уровень 19
26 июня 2023
Она сменила пол и прикупила парочку туфлей
Максим Уровень 22 Expert
28 августа 2023
Да,это Ким Чен Ын
Rolik Уровень 41
18 марта 2023
Map - карта - не коллекция.
la flacko flame Of Cactus Уровень 8
10 октября 2023
по фактам хули
la flacko flame Of Cactus Уровень 8
10 октября 2023
Map в Java является интерфейсом для хранения данных в виде пар "ключ-значение", но не является частью интерфейса Collection. Разница между Map и интерфейсами из пакета java.util.Collection заключается в том, как они организованы и для каких задач они предназначены. 1. Тип данных: Collection предназначен для хранения однородных данных, то есть данных одного и того же типа (например, список чисел или строки). Map предназначен для хранения данных в виде пар "ключ-значение", где ключи и значения могут иметь разные типы данных. 2. Интерфейсы: Интерфейсы Collection включают List, Set и Queue. Они предоставляют методы для работы с однородными коллекциями. Интерфейс Map предоставляет методы для работы с коллекцией ключей и соответствующих им значений. 3. Структура данных: Collection обычно представляет собой список элементов, которые можно хранить и обрабатывать в разных порядках (например, список, где порядок элементов важен, или множество, где порядок не имеет значения). Map представляет собой структуру данных, где каждый элемент имеет уникальный ключ, и этот ключ используется для быстрого доступа к соответствующему значению. 4. Интерфейс: Collection расширяет интерфейс Iterable, что позволяет перебирать элементы в цикле for-each. Map не расширяет интерфейс Iterable, так как перебор ключей или пар "ключ-значение" имеет другую логику. Думаю, что понимание этих различий нужно для правильного выбора коллекции. Если нужно хранить данные в виде пар "ключ-значение", то Map будет правильным выбором, в то время как для хранения однородных данных Collection будет более подходящим.
Perl Developer Уровень 1
9 февраля 2023
Ну поглядим, погладим... хеши в Perl очень удобными были и хорошо помогали.
Dinislam Aminev Уровень 16 Expert
31 января 2023
Блин, набрал 10 лайков для квеста, но коммент этот был не под лекцией, а под статьёй.... Мальчики, девочки, кому не трудно, поставьте плюсик)
Andrei Sharapov Уровень 21
25 октября 2022
Очень удобная штука Map, часто использую при построении JSON.
Sammi Уровень 18
8 мая 2023
Оно для этого идельно)
jktuo Уровень 18
9 сентября 2022
А мне эта лекция доступна. Я какие-то старые уроки прохожу?
Рыбалко Иван Уровень 36
15 февраля 2022
Alex C. Green Уровень 17
20 февраля 2021
Set -- ещё можно перевести, как набор. Я думаю, это понятие больше подходит по смыслу, чем множество.
Justinian Уровень 41 Master
21 февраля 2021
Думаю не подходит. Набор как понятие допускает наличие одинаковых элементов. Множество, как и set не допускает. Набор неповторяющихся элементов это и является множество или Set
Alex C. Green Уровень 17
22 февраля 2021
Хотел с Вами поспорить, но заглянул в документацию и нашел то, о чем не сказанно в этой лекции о Set: Коллекция, не содержащая повторяющихся элементов. Более формально, наборы не содержат пары элементов e1и e2таких, что e1.equals(e2)и не более одного нулевого элемента. Как следует из его названия, этот интерфейс моделирует абстракцию математического множества . Спасибо!
Justinian Уровень 41 Master
22 февраля 2021
На здоровье, успехов! :)
Red Baron Уровень 21
5 ноября 2021
В этой сфере "набор" и "множество" - синонимы. Но программисты лучше понимают "набор" :)
Edward Northwind Уровень 37
27 апреля 2022
В каком классе по алгебре проходят множества? Зачем городить сущности, если это и есть алгебраическое множество, только помимо чисел оно может содержать в себе что угодно.
Олег Уровень 1
6 февраля 2021
Если не было, то оставлю ссылку на отличную статью на хабре о выборе структур данных для начинающих.
Roman Grand Уровень 35
13 февраля 2021
Это просто мега бомбическая статья!!! Огромное тебе спасибо! Такого рода материал просто обязан быть в одном месте, и на JR он был бы не лишним. Минус у неё только один - она достаточно объёмная, НО структура и лаконичность статьи закрывает множество вопросов (даже тех, которые ещё не возникли😁) - поэтому, время, потраченное ну изучение такого важного материала, стыдно назвать минусом! З.Ы. благодаря этой информации (конкретно у меня) интерес к программированию вырос в несколько раз! (количество использованных "!" тому подтверждение)
Олег Уровень 1
14 февраля 2021
Благодарю! Рад был помочь!
Андрей Уровень 28
4 мая 2021
Хорошая работа, Олег
la flacko flame Of Cactus Уровень 8
19 ноября 2021
ахахаха, хорошая работа, Алишер