JavaRush /Курсы /Java Collections /Задачи | 6 уровень | 6 лекция

Задачи | 6 уровень | 6 лекция

Java Collections
6 уровень , 6 лекция
Открыта
16
Задача
Java Collections, 6 уровень, 6 лекция
Недоступна
Найти класс по описанию Ӏ Java Collections: 6 уровень, 6 лекция
Описание класса: 1. Реализует интерфейс List; 2. Является приватным статическим классом внутри популярного утилитного класса; 3. Доступ по индексу запрещен - кидается исключение IndexOutOfBoundsException. Используя рефлекшн (метод getDeclaredClasses), верни подходящий тип в методе getExpectedClass.
9
Задача
Java Collections, 6 уровень, 6 лекция
Недоступна
Поиск класса по описанию
Замени следующие слова на нужные: 1. ClassNameToBeReplaced - имя класса, потокобезопасный аналог ArrayList, в котором все операции изменения (mutative operations) используют новую копию основного массива. 2. methodNameToBeReplaced - имя метода, который в текущий список 'list' добавляет те элементы
Комментарии (36)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Yevhen Уровень 35
10 февраля 2023
Ссылка для решения второй задачи: https://java-online.ru/concurrent-collections.xhtml
TemaCode Уровень 51
31 января 2023
ребят почему файл Условие.jrtc постоянно тупит в Идеи, приходится его повторно открывать
26 марта 2023
У меня такая проблема возникала в течении недели около полугода назад, потом ушла сама собой. Сегодня опять повторилась. А так в целом если подождать, то условие через какое-то время подгружается, вроде.
StrangeAngel Уровень 46
29 апреля 2023
В идее дело. Сейчас обновилась и всё норм.
Нейросеть Уровень 41
5 августа 2023
У меня на линуксе на ноуте такая же беда, а на винде на стационарном компе всё норм
30 августа 2022
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html для решения последней задачи
Ars Уровень 41
23 ноября 2021
Инфа по последней задаче: Среднее количество попыток для этой задачи 1.24. Всего эту задачу решили 4091 учеников.
Max Zap Уровень 41
11 ноября 2021
А тем временем, в первой задаче в правильном решении предлагается просто перебрать все классы Collections и вернуть класс с совпадающим getSimpleName(). Вот как-то так... А класс видимо нужно найти самому в Collections.
Виктор Уровень 1
5 января 2023
Да, но тут все обсуждают через рефлексию вариант. И я считаю, что именно так надо делать. Если даже вы частично подсмотрите решение (как я), и не просто подсмотрите,а поймёте и разберетесь, то это будет только плюс. в отличие от того решения, которое предлагает JR
Матвей Уровень 28
27 августа 2021
Мне интереснo как кто решил проблему с 3 пунктом, не совсем понимаю как выполнить. 3. Доступ по индексу запрещен - кидается исключение IndexOutOfBoundsException. вызвать его через инвок, чтоб словить нужное исключение, не получилось ну это если решать не глядя в решение
zaiats1311 Уровень 43
19 декабря 2025
Перехватываем не IndexOutOfBoundsException, а InvocationTargetException e, которое блок try кинет после вызова метода method.invoke(constructor.newInstance(), 0); И уже внутри этого блока проверяем, есть ли в сообщении об ошибке подстрока IndexOutOfBoundsException. catch (InvocationTargetException e) { if(e.getCause().toString().contains("IndexOutOfBoundsException")){ return clazz; } Остальные exception игнорируем
Afac Уровень 41
27 ноября 2020
Вторая задача, конечно, потрепала нервы, зато рефлексия хорошо легла в голову. В общем, совет для "особо одаренных", типа меня: во второй задаче речь не про мануал по коллекциям, дан утилитный классе, внутри него найти через рефлексию другой класс, который подходит под описание в задаче. Ищи утилитный класс в импорте...
Уровень 1
18 января 2021
вообще не трепала. Подсказка в импорте + переименовать метод на подходящий.
Питруха Уровень 1
28 апреля 2021
Вы говорите про разные задачи.
Artem K. Уровень 30
22 ноября 2020
Задачи не на рефлексию, а на чтение мануалов по коллекциям.
16 февраля 2021
Да что ты говоришь, это если нет желания то на чтение мануалов, а так строк на 40-50 задача получается с рефлексией.
ram0973 Уровень 41
12 августа 2020
Collections.class.getDeclaredClasses(); - ??? constructor.setAccessible(true); - ??? isAssignableFrom - ??? Фиг бы я сам решил, без комментов. Насчёт первого надо было дать подсказку, что речь в задаче о Collections
Kex Уровень 38 Expert
15 июля 2020
если бы в коментах не подглядел вот эту строчку Class<?>[] clazz = Collections.class.getDeclaredClasses(); то весь день бы решал, я вот вообще не знал и ни где не попадалось что в классе Collections есть внутренние классы все то есть коллекции которые нам нужны и этим методом их очень просто можно достать. но я же погуглив узнал что с помощью стандартных библиотек не возможно (ну или если все пакеты перелопатить) выявить <? extends List> и в итоге набрел на Guava библиотеку org.reflection вообщем подгрузил применил нужный метод а он ошибку совместимости версий выдает, шел второй час танцев с бубнами и в итоге понял что проблему я эту навряд ли смогу решить со своим уровнем многие страдают из-за Guava, но и крутых штук там много я так понял. вообщем гуглить я ни хрена не умею и нет пока чуйки капать в нужную сторону( Ментора не хватает ой как, хочется уже работать