JavaRush/Курсы/Java Collections/Большая задача: Java коллекции

Большая задача: Java коллекции

Открыта

— Привет, боец!

— Поздравляю тебя с повышением уровня квалификации. Нам нужны отчаянные парни.

— Уверен, у тебя есть еще много нерешенных задач. Самое время решить парочку из них!

8
Задача
Java Collections,  4 уровень,  15 лекция
Недоступна
AmigoSet (1)
AmigoSet (1)
30
Задача
Java Collections,  4 уровень,  15 лекция
Недоступна
AmigoSet (2)
AmigoSet (2)
14
Задача
Java Collections,  4 уровень,  15 лекция
Недоступна
AmigoSet (3)
AmigoSet (3)
14
Задача
Java Collections,  4 уровень,  15 лекция
Недоступна
AmigoSet (4)
AmigoSet (4)
30
Задача
Java Collections,  4 уровень,  15 лекция
Недоступна
AmigoSet (5)
AmigoSet (5)
8
Задача
Java Collections,  4 уровень,  15 лекция
Недоступна
AmigoSet (6)
AmigoSet (6)
Комментарии (87)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
{Java_Shark}
Уровень 36
9 апреля 2025, 11:20
++
Denis Odesskiy Full Stack Developer
9 ноября 2024, 15:56
Жаль что рефлексию в Java давно пустили под нож😰. Была такая гибкая штука, для метапрограммирования, теперь увы и ах. Зато у конкурентов, в тех же C# да и в пайтоне с этим проблем нет...
Anemon
Уровень 13
Expert
5 марта 2025, 03:35
А с чего ты это вообще взял то?.. Один из популярнейших и важнейших фреймворков - легендарный Spring, невероятно широко использует рефлексию, ты о чем вообще? Откуда такие мысли? о-о
Denis Odesskiy Full Stack Developer
5 марта 2025, 13:11
Я это взял из многократных заявлений Oracle а также из доков и из практики, новых (и не очень уже новых, начиная с Java 9) версий Java, рефлексию сильно ограничивают как минимум, уже в последних версиях пользоваться ей так вольготно как раньше не получится. Для комфортного перехода разработчиков и особенно библиотек, делается это плавно, сначала были предупреждения, их можно было отключить, потом и это убрали (возможность отключить). Главная цель как заявляет Oracle увеличить безопасность языка и следование его канонам ООП, т.к. по их мнению рефлексия нарушает главный принцип ООП, а именно инкапсуляцию. Попробуй рефлексией получить доступ в последних версиях Java к приватным и защищенным членам классов из других модулей например. Помнишь была задачка где мы писали свою мапу на основе HashMap, там мы получали доступ к приватным полям через рефлексию. В новых версиях это не сработает. Другое дело что многое можно сделать и без рефлексии и даже прозрачнее, читабельнее и производительнее будет. Пару ссылок на стаковерфлов: https://stackoverflow.com/questions/74723932/java-17-reflection-issue?form=MG0AV3 и https://stackoverflow.com/questions/69177973/how-can-i-make-reflection-work-on-jdk-16-and-later?form=MG0AV3. Тема обширная и разрозненная, лень шерстить всё. Если интересно поищи еще инфу сам, а лучше попробуй😉. П/С. По Spring у тебя возможно немного устаревшая информация. Они конечно опираются на рефлексию для инжекций зависимостей и не только (опирались), но для минимизации зависимости от рефлексии (в том числе) они используют также CGLIB, ASM, AOP, Compile-time processing...
Denis Odesskiy Full Stack Developer
5 марта 2025, 13:28
Уже раз коснулись безопасности. По той же причине (безопасность) начиная с Java 9 потихоньку ограничивают доступ к нативному коду😏, из-за этого и и-за ограничений рефлексии (пока надеюсь в несбыточной перспективе) могут пострадать горячо любимые мной библиотеки JNI и JNA 🙄. Ладно, это всё нытьё, я верю что архитекторы Java идут по верному пути, и сделают всё как надо, если заберут одно, то дадут нам в замену еще более лучший инструмент (наивно улыбаясь...)
Anemon
Уровень 13
Expert
7 марта 2025, 12:59
Хорошо, поверю в твои доводы. Моя не особо тщательная проверка и поиск информации показали что всё работает, в том числе на 17 джаве, и я никогда не видел инфу об ограничении рефлексии, плюс знал что на ней работает Спринг и многие библиотеки. Но буду надеяться на то же что и ты, пускай джава развивается и становится лучше. Чем она будет надёжнее и безопаснее, тем будет надёжнее наша работа с крупными компаниями, которым как раз это и нужно для огромных серверных приложений.
Codemilexteacher в Тесла клуб юных инже
8 ноября 2024, 10:23
HashMapReflectionHelper в задаче 5 - не ясно откуда взять.
Denis Odesskiy Full Stack Developer
7 ноября 2024, 16:49
Я всё понял! Разработчики котлина видимо учились тут, начали с собственной реализации коллекций в этой задачи, а потом так понравилось, что не смогли остановиться...😅
SomeBody098веник в бане
13 октября 2024, 17:26
ну ОК
Андрей
Уровень 51
30 апреля 2024, 11:04
я так понимаю в конце будем писать свой компилятор джавы и сравнивать с существующим
8 декабря 2023, 02:49
Блин, у меня пропустило решение с ошибкой в одной из первых задач и я промучилась кучу времени на предпоследней, не принимало верное решение 🐸
Антон
Уровень 50
3 ноября 2023, 16:36
Задача на редкость хороша.
PhanSca
Уровень 48
17 мая 2023, 09:09
Отличная задача - побольше бы таких.
StrangeAngel
Уровень 46
25 апреля 2023, 18:31
Интересная тема, заодно сериализацию вспомнил.