Java: Дженерики
Теория: Примеры встроенных дженериков
Для лучшего понимания дженериков, вспомним уже изученные и посмотрим на них еще раз уже новым взглядом. Сейчас нас интересуют следующие элементы:
- Списки
- Мапы
- Функциональные интерфейсы
Списки
Все списки являются дженериками с одним параметром типа. Параметр можно указывать в правой части, как в примере ниже.
А можно задавать на уровне типа переменной, опуская указание в правой части.
Мы отдаем предпочтение первому методу, так как стараемся по возможности полагаться на вывод типов переменных через использование var.
Мапы
В случае Map параметров типа уже два. Один для ключей другой для значений.
В остальном это такой же дженерик.
Функциональные интерфейсы
В Java встроено множество функциональных интерфейсов для типовых операций, которые обычно используются внутри библиотек. Например, для фильтрации часто бывает нужна лямбда-функция, которая принимает на вход элемент коллекции, выполняет проверку и возвращает true или false в зависимости от результата этой проверки. Такой интерфейс можно создать самостоятельно, а можно воспользоваться готовым дженериком.
В случае лямбда-функций тип всегда указывается у переменной, поэтому здесь параметр типа передается в левой части выражения.



