💥 Проверь себя – пройди тест по ИБ
Ответишь успешно — пройдешь на курс «Внедрение и работа в DevSecOps» от Отус по специальной цене со скидкой.
❗️На курсе ты научишься интегрировать в CI/CD, использовать инструменты ИБ и обеспечивать безопасность в непрерывном процессе разработки и продакшена.
Именно эти навыки дадут мощное конкурентное преимущество IT-специалистам и повысят твою востребованность и доход!
➡️ ПРОЙТИ ТЕСТ: https://otus.pw/E90k/
💥 Пройдете тест и бонусом получишь:
– Подборку видео уроков от руководителя курса "Роль уязвимостей"
– Доступ к записям лучших вебинаров курса
– Скидку на онлайн-курс «Внедрение и работа в DevSecOps»
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Ответишь успешно — пройдешь на курс «Внедрение и работа в DevSecOps» от Отус по специальной цене со скидкой.
❗️На курсе ты научишься интегрировать в CI/CD, использовать инструменты ИБ и обеспечивать безопасность в непрерывном процессе разработки и продакшена.
Именно эти навыки дадут мощное конкурентное преимущество IT-специалистам и повысят твою востребованность и доход!
➡️ ПРОЙТИ ТЕСТ: https://otus.pw/E90k/
💥 Пройдете тест и бонусом получишь:
– Подборку видео уроков от руководителя курса "Роль уязвимостей"
– Доступ к записям лучших вебинаров курса
– Скидку на онлайн-курс «Внедрение и работа в DevSecOps»
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍5❤4🔥2
Проблема квадрата/прямоугольника, объяснение и решение
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
YouTube
Проблема квадрата/прямоугольника, объяснение и решение
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
Паблик в VK: https:…
Паблик в VK: https:…
❤7👍3🔥2
🔝 Как разрабатывать приложения на любом фреймворке?
📡Расскажет Сергей Окатов, кандидат физ.мат наук, руководитель курса Kotlin Backend Developer.Professional на примере Spring и Ktor на открытом уроке от OTUS.
🔥На занятии:
- узнаем про подход framework-agnostic и зачем он нужен;
- разработаем приложение на Kotlin/Spring и Ktor;
- выполним интеграцию бизнес-логики в оба приложения;
- проанализируем плюсы и минусы подхода.
‼️Бесплатный урок пройдет 26 февраля в 19:00 по Москве в рамках курса «Kotlin Backend Developer. Professional». Обновленная программа обучения позволит прикоснуться к большому числу инструментов разработки современных, гибких, высокопроизводительных серверных приложений на языке Kotlin. Доступна рассрочка на обучение!
➡️Зарегистрируйтесь и пройдите тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/28B5/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KDRAj
📡Расскажет Сергей Окатов, кандидат физ.мат наук, руководитель курса Kotlin Backend Developer.Professional на примере Spring и Ktor на открытом уроке от OTUS.
🔥На занятии:
- узнаем про подход framework-agnostic и зачем он нужен;
- разработаем приложение на Kotlin/Spring и Ktor;
- выполним интеграцию бизнес-логики в оба приложения;
- проанализируем плюсы и минусы подхода.
‼️Бесплатный урок пройдет 26 февраля в 19:00 по Москве в рамках курса «Kotlin Backend Developer. Professional». Обновленная программа обучения позволит прикоснуться к большому числу инструментов разработки современных, гибких, высокопроизводительных серверных приложений на языке Kotlin. Доступна рассрочка на обучение!
➡️Зарегистрируйтесь и пройдите тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/28B5/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KDRAj
👍6❤3🔥2
Интерфейс UnaryOperator
Интерфейс UnaryOperator предназначен для представления функций, которые принимают один аргумент и возвращают результат того же типа, что и аргумент.
Он является специализированным функциональным интерфейсом, входящим в пакет java.util.function.
UnaryOperator часто используется в stream API для применения функций к элементам потока.
В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().
Интерфейс UnaryOperator предназначен для представления функций, которые принимают один аргумент и возвращают результат того же типа, что и аргумент.
Он является специализированным функциональным интерфейсом, входящим в пакет java.util.function.
UnaryOperator часто используется в stream API для применения функций к элементам потока.
В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().
👍19❤3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Приглашаем на Infra Meetup #3 — митап про надежность от Яндекс Такси и Техплатформы Екома и Райдтеха
На митапе поделимся тремя докладами об инструментах надежности в Такси, платформе биллинга Екома и Райдтеха и возможностях фреймворка userver для поддержания отказоустойчивости. В конце митапа участников ждет нетворкинг и экскурсия по питерскому офису.
Формат: офлайн или онлайн
Место встречи: Санкт-Петербург, БЦ «Бенуа»
Дата и время: 29 февраля, 18:00
Бесплатно. Количество офлайн мест ограничено. Регистрация обязательна
Подробнее
Реклама. ООО "Яндекс.Такси", ИНН: 7704340310
На митапе поделимся тремя докладами об инструментах надежности в Такси, платформе биллинга Екома и Райдтеха и возможностях фреймворка userver для поддержания отказоустойчивости. В конце митапа участников ждет нетворкинг и экскурсия по питерскому офису.
Формат: офлайн или онлайн
Место встречи: Санкт-Петербург, БЦ «Бенуа»
Дата и время: 29 февраля, 18:00
Бесплатно. Количество офлайн мест ограничено. Регистрация обязательна
Подробнее
Реклама. ООО "Яндекс.Такси", ИНН: 7704340310
❤4🔥3👍2
BeanPostProcessor
BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.
BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.
BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
❤20👍9🔥4
Освоить JVM с профилированием и оптимизацией приложений в облаках на онлайн-курсе «Java Developer. Advanced» от OTUS.
Программа идеально подойдет для Java-разработчиков с опытом от 2-х лет, желающих углубить знания в устройстве JVM, принципах профилирования и оптимизации приложений в облачной инфраструктуре.
На курсе вас ждут:
▫️ живые вебинары с возможностью задать вопросы экспертам;
▫️много практики и сильные проекты для портфолио;
▫️поддержка профессионального комьюнити;
▫️ рассрочка на комфортных условиях.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥2
Шаблонный метод - Шаблоны проектирования в деталях
Шаблонный метод - поведенческий шаблон проектирования, используемый в тех случаях, когда в рамках класса требуется реализовать некоторую логику, делегируя реализацию её деталей классам-наследникам.
В рамках серии роликов "Шаблоны проектирования в деталях" автор рассказывает о популярных шаблонах проектирования с примерами кода на языке программирования Java.
Шаблонный метод - поведенческий шаблон проектирования, используемый в тех случаях, когда в рамках класса требуется реализовать некоторую логику, делегируя реализацию её деталей классам-наследникам.
В рамках серии роликов "Шаблоны проектирования в деталях" автор рассказывает о популярных шаблонах проектирования с примерами кода на языке программирования Java.
YouTube
Шаблонный метод - Шаблоны проектирования в деталях
Шаблонный метод - поведенческий шаблон проектирования, используемый в тех случаях, когда в рамках класса требуется реализовать некоторую логику, делегируя реализацию её деталей классам-наследникам.
В рамках серии роликов "Шаблоны проектирования в деталях"…
В рамках серии роликов "Шаблоны проектирования в деталях"…
👍8🔥5❤2😁1
Сделайте новый шаг в своей карьере: приглашаем на курс по 1C разработке мобильного приложения
Знания и опыт разработки мобильных приложений на 1С могут открыть возможности карьерного роста в сфере разработки ПО, особенно там, где 1С широко используется. Это станет ценным навыком, который отличает вас от других 1С разработчиков.
Именно этому в Слёрме начнут учить уже в феврале — на курсе "1С разработчик: мобильное приложение + интеграция".
🌀 Вы научитесь создавать и интегрировать мобильные приложения для бизнес-решений на платформе 1С;
🔮 На реальных примерах разберёте создание HTTP-сервисов с помощью RPC;
☕️ Создадите мобильное приложение с расширенным функционалом.
Курс идет 6 недель в формате потока:
➕ Все задания и итоговый проект проверяют спикеры курса и готовят подробное код-ревью.
➕ На время потока будет создан чат. В нём вы сможете задать любой вопрос по разработке на 1С и оперативно получить ответ.
➕ На протяжении курса вы будете разрабатывать мобильное приложение на платформе «1С: Предприятие» и интегрировать сервисы API.
Узнать программу курса и записаться на поток вы можете по ссылке.
Реклама. ООО «Слёрм» г. Лиски, ОГРН 1193668020545
Знания и опыт разработки мобильных приложений на 1С могут открыть возможности карьерного роста в сфере разработки ПО, особенно там, где 1С широко используется. Это станет ценным навыком, который отличает вас от других 1С разработчиков.
Именно этому в Слёрме начнут учить уже в феврале — на курсе "1С разработчик: мобильное приложение + интеграция".
Курс идет 6 недель в формате потока:
Узнать программу курса и записаться на поток вы можете по ссылке.
Реклама. ООО «Слёрм» г. Лиски, ОГРН 1193668020545
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3👍1
Метод insert()
Метод insert() используется для вставки элемента в список в заданную позицию. Он принадлежит интерфейсу List и его реализациям, таким как ArrayList.
Этот метод вставляет указанный элемент element по заданному индексу index и сдвигает все последующие элементы вправо.
*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.
Метод insert() используется для вставки элемента в список в заданную позицию. Он принадлежит интерфейсу List и его реализациям, таким как ArrayList.
Этот метод вставляет указанный элемент element по заданному индексу index и сдвигает все последующие элементы вправо.
*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.
👍14❤3🔥3😁1
Индивидуальное обучение с наставником!
Обучение до Middle Java Developer станет еще результативнее – мы обновили формат курса и теперь только практические занятия с senior-менторами по индивидуальной программе.
Что это значит?
- вы занимаетесь с ментором тет-а-тет. Вся практика по основным темам ориентирована только на ваши навыки. Вы никого не догоняете, не скучаете, практикуетесь в комфортном вам темпе;
- наставник помогает разобраться только с вашими западающими зонами до полного понимания
- при необходимости, вы сможете разобрать с наставником свои рабочие задачи, не беспокоясь что их увидят другие студенты
Что остается из важного?
• База знаний «Middle Java Dev 2024»
• Актуальная теория по Spring, Kafka, CI/CD, Базам данных и Kubernetes на платформе TeachBase.
• Код-ревью, обсуждение реальных задач наставников.
• 15 ментор-сессий на протяжении курса
☄️ В завершении обучения проводим аттестацию, учим оформлять CV и выводим на собеседование в «Цифровые Привычки».
Записаться на обучение можно на сайте: https://clck.ru/392Y3Q
Запросить консультацию, записаться на интервью и обсудить индивидуальную программу обучения можно в нашем telegram-боте
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2Vtzqwf4pLa
Обучение до Middle Java Developer станет еще результативнее – мы обновили формат курса и теперь только практические занятия с senior-менторами по индивидуальной программе.
Что это значит?
- вы занимаетесь с ментором тет-а-тет. Вся практика по основным темам ориентирована только на ваши навыки. Вы никого не догоняете, не скучаете, практикуетесь в комфортном вам темпе;
- наставник помогает разобраться только с вашими западающими зонами до полного понимания
- при необходимости, вы сможете разобрать с наставником свои рабочие задачи, не беспокоясь что их увидят другие студенты
Что остается из важного?
• База знаний «Middle Java Dev 2024»
• Актуальная теория по Spring, Kafka, CI/CD, Базам данных и Kubernetes на платформе TeachBase.
• Код-ревью, обсуждение реальных задач наставников.
• 15 ментор-сессий на протяжении курса
Записаться на обучение можно на сайте: https://clck.ru/392Y3Q
Запросить консультацию, записаться на интервью и обсудить индивидуальную программу обучения можно в нашем telegram-боте
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2Vtzqwf4pLa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4😁2🎉1🤩1
🔥 Постоянно тушишь пожары по причине неоптимально заложенных основ БД?
Онлайн курс «Базы данных» от OTUS поможет на практике освоить все необходимые навыки для профессиональной работы с реляционными и нереляционными базами данных: PostgreSQL, MySQL, Redis, MongoDB, Cassandra, NoSQL, Clickhouse
Будет полезно, если:
— вам пришлось учиться всему самим, есть «серые зоны» в каком-то из блоков, например работа с индексами или оптимизация БД
— ваш набор компетенций не складывается в единую и устойчивую модель работы с БД
Программу ведут профессионалы из таких компаний, как Wildberries, 1C-СТАРТ, X5 Group etc
На 2024 год по данным job-сайтов на рынке дефицит профессионалов, отвечающих возросшим требованиям работодателей
Ответьте на 20 вопросов и проверьте, насколько вам необходимо обучение на продвинутом курсе «Базы данных» от OTUS.
На курсе осталось всего 3 свободных места!
👉https://otus.pw/dERk/?erid=LjN8KSZ5e
Онлайн курс «Базы данных» от OTUS поможет на практике освоить все необходимые навыки для профессиональной работы с реляционными и нереляционными базами данных: PostgreSQL, MySQL, Redis, MongoDB, Cassandra, NoSQL, Clickhouse
Будет полезно, если:
— вам пришлось учиться всему самим, есть «серые зоны» в каком-то из блоков, например работа с индексами или оптимизация БД
— ваш набор компетенций не складывается в единую и устойчивую модель работы с БД
Программу ведут профессионалы из таких компаний, как Wildberries, 1C-СТАРТ, X5 Group etc
На 2024 год по данным job-сайтов на рынке дефицит профессионалов, отвечающих возросшим требованиям работодателей
Ответьте на 20 вопросов и проверьте, насколько вам необходимо обучение на продвинутом курсе «Базы данных» от OTUS.
На курсе осталось всего 3 свободных места!
👉https://otus.pw/dERk/?erid=LjN8KSZ5e
👍8❤3🔥2🎅1
LambdaMetafactory
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
👍16🔥4❤2
System.arraycopy
System.arraycopy используется для копирования элементов из одного массива в другой. Этот метод предоставляет эффективный способ копирования данных между массивами. Синтаксис System.arraycopy:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Параметры метода включают:
src: Исходный массив, из которого вы хотите скопировать элементы.
srcPos: Начальная позиция в исходном массиве, с которой начнется копирование.
dest: Целевой массив, в который вы хотите скопировать элементы.
destPos: Начальная позиция в целевом массиве, куда будут скопированы элементы.
length: Количество элементов, которое вы хотите скопировать.
System.arraycopy используется для копирования элементов из одного массива в другой. Этот метод предоставляет эффективный способ копирования данных между массивами. Синтаксис System.arraycopy:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Параметры метода включают:
src: Исходный массив, из которого вы хотите скопировать элементы.
srcPos: Начальная позиция в исходном массиве, с которой начнется копирование.
dest: Целевой массив, в который вы хотите скопировать элементы.
destPos: Начальная позиция в целевом массиве, куда будут скопированы элементы.
length: Количество элементов, которое вы хотите скопировать.
❤16👍10🔥2🎉1🎅1
3, 2 … Остановимся здесь.⤵️
Потому что 2 недель достаточно, чтобы познакомиться с основами Java и понять, подходит ли вам это направление.
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) – гарантируем.
Расклад такой: мы даем вам базу — больше 60 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.
Если переживаете — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.
⏰ Старт курса уже 6 марта, присоединяйтесь!
Потому что 2 недель достаточно, чтобы познакомиться с основами Java и понять, подходит ли вам это направление.
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) – гарантируем.
Расклад такой: мы даем вам базу — больше 60 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.
Если переживаете — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.
⏰ Старт курса уже 6 марта, присоединяйтесь!
👍5❤2🔥1
Из-за наличия JIT-компиляции в «классических» JVM пиковая производительность приложений достигается не мгновенно при запуске, а в продолжительном процессе сбора профиля текущего исполнения и компиляции кода, который может занимать секунды, минуты, а иногда и часы. В некоторых задачах (например, алгоритмической торговли на бирже), долгое время старта и прогрева приложения может быть критическим фактором, который нужно минимизировать.
Для решения этой проблемы существует несколько подходов: ручной прогрев, AOT-компиляция, переиспользование существующего JIT-профиля, новая технология Coordinated Restore at Checkpoint.
В докладе рассматриваем проблематику прогрева JVM-приложений и способы мониторинга JIT-компиляций на конкретных примерах. Разбираем существующие подходы, достоинства, недостатки и особенности каждого из методов.
Этот доклад будет интересен всем, кто интересуется быстрым запуском и прогревом JVM-приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Александр Ланцов — Прогревая JVM: CRaC и другие фокусы
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Из-за наличия JIT-компиляции в «классических» JVM пиковая производительность приложений достигается не мгновенно при запуске, а в продолжительном…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Из-за наличия JIT-компиляции в «классических» JVM пиковая производительность приложений достигается не мгновенно при запуске, а в продолжительном…
👍5❤4🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Виртуальные потоки в Java
В данном видео мы рассматриваем основы виртуальных потоков в Java.
Дружное сообщество:
https://news.1rj.ru/str/pse_club
Материалы для разработчиков:
https://proselyte.net/
Ссылка на GitHub:
https://github.com/proselytear/virtualthreads
JEP444:
https://openjdk.org/jeps/444…
Дружное сообщество:
https://news.1rj.ru/str/pse_club
Материалы для разработчиков:
https://proselyte.net/
Ссылка на GitHub:
https://github.com/proselytear/virtualthreads
JEP444:
https://openjdk.org/jeps/444…
👍20❤6😁3
Девять шаблонов проектирования ПО, которые вы должны знать!
Освойте их на бесплатном практическом уроке от OTUS и Андрея Полякова — старшего разработчика в Unlimint.
✅После вебинара вы сможете:
– понимать основные принципы и концепции, лежащие в основе шаблонов GRASP;
– оценивать и выбирать наиболее подходящие шаблоны для конкретных проектов;
– разрабатывать архитектуры, основанные на принципах GRASP, что позволит создавать более качественное и надежное ПО.
Занятие пройдёт 29 февраля в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». Доступна рассрочка на обучение!
➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и познакомиться с форматом обучения: пройти тест
Освойте их на бесплатном практическом уроке от OTUS и Андрея Полякова — старшего разработчика в Unlimint.
✅После вебинара вы сможете:
– понимать основные принципы и концепции, лежащие в основе шаблонов GRASP;
– оценивать и выбирать наиболее подходящие шаблоны для конкретных проектов;
– разрабатывать архитектуры, основанные на принципах GRASP, что позволит создавать более качественное и надежное ПО.
Занятие пройдёт 29 февраля в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». Доступна рассрочка на обучение!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Почему Map не наследуется от Collection?
Это связано с различиями в их целях и использовании. Интерфейс Collection представляет собой общие методы для работы с группой объектов, таких как добавление, удаление и проверка наличия элемента. Он ориентирован на работу с коллекциями объектов, где каждый объект является элементом коллекции.
Интерфейс Map, с другой стороны, представляет собой отображение ключей на значения. Он не рассматривает элементы коллекции как отдельные объекты, а предоставляет доступ к значению, связанному с определенным ключом. Это более общий и мощный подход, который не сводится к работе с отдельными элементами коллекции.
Интерфейс Map включает в себя методы для управления парами ключ-значение и обеспечивает эффективный доступ к значениям по ключу. По этим причинам он не является подтипом Collection. Однако, классы, реализующие интерфейс Map, часто предоставляют методы, которые позволяют работать с элементами коллекции или возвращают представление коллекции ключей, значений или записей (ключ-значение).
Таким образом, хотя Map и Collection предоставляют абстракции для работы с группой объектов, они решают разные задачи, и поэтому не существует иерархического отношения наследования между ними.
Это связано с различиями в их целях и использовании. Интерфейс Collection представляет собой общие методы для работы с группой объектов, таких как добавление, удаление и проверка наличия элемента. Он ориентирован на работу с коллекциями объектов, где каждый объект является элементом коллекции.
Интерфейс Map, с другой стороны, представляет собой отображение ключей на значения. Он не рассматривает элементы коллекции как отдельные объекты, а предоставляет доступ к значению, связанному с определенным ключом. Это более общий и мощный подход, который не сводится к работе с отдельными элементами коллекции.
Интерфейс Map включает в себя методы для управления парами ключ-значение и обеспечивает эффективный доступ к значениям по ключу. По этим причинам он не является подтипом Collection. Однако, классы, реализующие интерфейс Map, часто предоставляют методы, которые позволяют работать с элементами коллекции или возвращают представление коллекции ключей, значений или записей (ключ-значение).
Таким образом, хотя Map и Collection предоставляют абстракции для работы с группой объектов, они решают разные задачи, и поэтому не существует иерархического отношения наследования между ними.
👍24❤4🔥4