Синтезируем LocalDateTime

  • 17
  • Недоступна
В методе convert нужно преобразовать Map в Set. Принцип преобразования: если в sourceMap было два таких элемента: 2018-05-31=[12:43:00.615424667, 08:35:29.212766273] 1998-01-31=[07:56:59.931458499] то в результате в множестве должно получиться три элемента: 2018-05-31T12:43:00.615424667 201
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (132)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
RXNINFX
Уровень 13, Краснодар, Russian Federation
вчера, 21:38
Мой комментарий посвящен тем, кто НЕ "решил изи и рассказал всем сколько студентов решили эту задачу с первой попытки". - устали? сделайте паузу, не всегда все идет с первого раза. - заранее смиритесь с тем, что гуглить реально придется часто ( я сам по началу думал, что на JavaRush научат всему не выходя с сайта) - цепляйтесь за "ключевые слова", есть в задаче HashSet и Map? идем читать про них. - в рамках курса (не вылезая с сайта), точно не получится поднять скилл ( я например почти с каждой сложной задачей использую связку JavaRush лекции, книгу Шилдта по Java и какие-нибудь лекции на Ютубе) - и главное не ловите дизмораль из за комментариев людей которые легко решили, бывает так, что можно тупить днями над простой задачей и быстро решать сложные, возможно это именно тот случай. Всем удачи! i_know_what_u_feel_bro!
Pavel V.
Уровень 19, Russian Federation
позавчера, 01:23
Вы решили задачу лучше, чем 13% учеников. Вам удалось ее решить с 1 попытки. Среднее количество попыток для этой задачи 1.28. Хорошая задача, результат после валидации, конечно, слегка неожиданный. Условие слегка пугает сначала, и двойные параметры в дженериках, однако если вчитаться, все станет ясно.
Михаил Лисицкий
Уровень 15, Ukraine
2 августа, 14:40
Решил вообще без Entry ( в 5 строчек, но правда потратил на повторение материала часов 6, все же) . В первом цикле создал list в который записывал массив LocalTime`ов через обычный get по ключу. Во втором цикле перебирал массив LocalTime`ов.. Все... Лично мне как новичку, который учится с 0 было сложновато, но задача очень хорошая, на подумать, можно ничего нового даже не искать в нете. и главное четкое условие! Осталось теперь понять что за Map.Entry
Sergey S
Уровень 26
27 июля, 18:28
Решена за 12 строчек в коде. В готовом решении всего 4 строки кода. Умение проще перебирать все значения в коллекциях очень пригодится дальше. Нужно учиться писать хороший код. Советую освежить знания в статье на JavaRush про интерфейс Map: Интерфейс Map в Java.
TripleAsh
Уровень 27, Киев, Ukraine
24 июля, 17:21
Пример идеальной, интересной и полезной задачи!
Goldenboy in search в of knowledge
18 июля, 18:07
Да вроде не супер сложная задача, единственная загвоздка была в том, что ни разу с несколькими значениями в ключе не сталкивался, решил минут за 40
Николай Данилов
Уровень 17, Москва, Russian Federation
15 июля, 22:00
Как по мне лучшая задача на данный момент, заставляет заглянуть в документацию, вспомнить как что работает. Я прям доволен, что без подсказок сам разобрался и сделал. Но у меня есть за спиной 2 книги по java, не думаю, что новичкам дастся эта задача с таким же интересом как и мне. Как по мне, пометки "Easy", "Hard" и "Medium" вообще стоят чтобы были, смысла они вообще никакого не несут т.к. не указывают на реальную сложность задачи.
Oleksandr Kuzmin
Уровень 27, Одесса, Ukraine
13 июля, 13:01
решение от JR ведь не сохранит последовательность вывода, поэтому сделал через LinkedHashSet
Dimon
Уровень 19, Ростов на Дону, Russian Federation
3 июля, 12:56
Как по мне это был не медиум, это ХАРД))) По крайней мере, для моего текущего уровня. На гуглеж, тестирование и решение потратил часа полтора-два. В ответы и комментарии специально не заглядывал, но решил почти таким же способом, как и в "правильном" за исключением что я вводил дополнительные переменные.
Никита Ильин
Уровень 28, Вязьма, Russian Federation
15 июля, 20:24
Думаю тут от опыта зависит. Мы проходили HashSet и HashMap. Тут надо просто немного вспомнить) Я так решил за 2 минуты.
Jet
Уровень 24, Санкт-Петербург, США
24 июня, 20:03
Для вас тоже JavaRush это первый курс по изучению языков программирования с нуля? Ну т.е. вы не с другого ЯП мигрировали, не с факультета программирования и т.п. здесь, а вот решили с нуля изучить Яву? Если да, то объясните мне, как можно решить задачу, когда тебе не объяснили принципы решения подобных задач? Ну т.е. сказали вот это гвоздь, вот это молоток, молотком можно бить по гвоздю. А теперь иди и построй нам деревянный дом. Тебе не выдали чертежи, не рассказали про нюансы строительства и т.п., хотя ты ожидаешь, что из тебя сделают как минимум прораба, способного разобраться хотя бы в теории строительства домов. Мы прошли Map, Set но как из мапы сделать сет это пожалуйста в гугле ищите. Ну ок. Погуглил, прикинул на нашу задачу, не понял как это сделать. Ок, открываю правильное решение, может быть там мне объяснят как и главное ПОЧЕМУ ТАК надо решить эту задачу. И что я вижу?
1. Set<LocalDateTime> result = new HashSet<>();
2. for (Map.Entry<LocalDate, List<LocalTime>> entry : sourceMap.entrySet()) {
3.             for (LocalTime time : entry.getValue()) {
4.                 result.add(LocalDateTime.of(entry.getKey(), time));
            }
        }
Пытаюсь для себя расшифровать тайное послание авторов курса: 1. Создаем новый Set; (чтобы что? зачем мы его создали? почему надо делать так?) 2. Запускаем цикл for в котором, на сколько я понимаю, я ничего не понимаю.. 3. Запускаем еще один цикл for, чтобы еще раз доказать, что я точно ничего не понимаю 4. Ставим крест на карьере программиста. С полученными "знаниями" гордо движемся вперед, ведь впереди еще так много всего, о чем тебе таким же "доступным" языком всё "объяснят". Это вселяет уверенность в завтрашнем дне и непоколебимую веру в то, что ты всё поймешь и станешь чуть сильнее любить Яву. P.S. Я конечно же не сдамся без боя, но такой подход к преподаванию очень огорчает.
Артемий
Уровень 34, Псков, Россия
30 июня, 09:33
Для решения этой задачи тебе надо знать коллекции и что такое цикл. Практикуйся и все.
SWK
Уровень 24
5 июля, 05:57
Зря. Очень правильная задача. Единственное, чего не было в курсе - способа, которым распечатали множество. Но в плане решения оно никакой роли не играет. 1. Чтобы сложить туда результат. Ты же видишь в условии, что нужно вернуть? Там строчка состоит из даты и времени. Учитывая тему занятия легко понять, что вернуть нужно некую кучку LocalDateTime. Какую кучку? Ну, в условии конкретно написано, что набор, в смысле set. Вот та самая кучка и есть (Гусары, молчать!). 2. Как перебирать Map учили в курсе? Вроде, учили. Что тогда конкретно непонятно? Ну немного не простая Map-а, но смысл от этого не меняется. Чтобы перебрать Map нужно получить из неё entrySet() и перебирать уже его. 3. Ну второй-то, вообще простой цикл for-each. Второй элемент в Map - список времён. entry.getValue() вытаскивает этот список. Цикл его перебирает. Спокойно повторяешь курс по Map и всё прекрасно делаешь.
Ivan Sevastianov
Уровень 23, Тула, Russian Federation
24 июля, 16:34
Я понимаю зачем и что(не всегда понятно почему именно так...)), когда вижу результат. Но самому-то как научиться так же?!