undefined

Задачи на действия с Set и Map

Java Syntax
8 уровень , 8 лекция
Открыта

— Ты уже выучил, что такое Set и Map, я надеюсь? Вот тебе немного задач на Set и Map.

undefined
2
Задача
Java Syntax,  8 уровень,  8 лекция
Недоступна
20 слов на букву «Л»
У вас есть любимая буква? Впрочем, ваши предпочтения в этой задаче роли не играют. У вашего методиста (того, который придумал эту задачу) это буква «Л», поэтому придется работать с ней, даже если вам она несимпатична. Вам нужно создать множество строк (Set <String>) и занести в него 20 слов на букву «Л». Вот, собственно, и всё.
undefined
10
Задача
Java Syntax,  8 уровень,  8 лекция
Недоступна
Больше 10? Вы нам не подходите
Перевалочный пункт Оддиозо ищет сотрудников. Единственное условие: количество конечностей у них не должно превышать более десяти конечностей (мы не знаем, откуда взялась такая дискриминация). Поможем им программой, в которой создадим множество чисел(Set<Integer>), занесем туда 20 различных чисел, а затем удалить из множества все числа больше 10.
undefined
10
Задача
Java Syntax,  8 уровень,  8 лекция
Недоступна
Перепись населения
Очень часто люди и прочие граждане Вселенной пытаются найти своих родственников. Сделаем шаг к программе поиска людей. В задачке нам нужно создать словарь (Map<String, String>) занести в него десять записей по принципу «Фамилия» - «Имя», после чего проверить, сколько людей имеют совпадающие с заданным имя или фамилию.
undefined
10
Задача
Java Syntax,  8 уровень,  8 лекция
Недоступна
Добрая Зинаида и летние каникулы
Зинаида Васильевна — классный руководитель 7-Б класса какой-то там террианской школы, подробности не важны. А важно то, что она дарит подарки ученикам в дни рождения. Везет не всем: летние именинники — в пролёте по причине каникул. Пишем программу для Зинаиды: создаем словарь с фамилиями и датами рождения, удаляем из него людей, родившихся летом.
undefined
10
Задача
Java Syntax,  8 уровень,  8 лекция
Недоступна
Нам повторы не нужны
Сложно представить себе ситуацию, в которой может понадобиться программа, которую мы предлагаем вам написать. Впрочем, маленькая модификация, и она обретает практический смысл. Также её можно представить частью чего-то большего (поиска?). Давайте создим словарь, занесём в него записи по принципу «фамилия» - «имя» и удалим людей с одинаковыми именами.
undefined
5
Задача
Java Syntax,  8 уровень,  8 лекция
Недоступна
Только для богачей
Наш заказчик — казино «Риге-Тау» с планеты Диблублублу. Крайне заносчивые ребята, но платят хорошо. Они заказали нам сделать программу автоматической рассылки писем потенциальным клиентам. Не пугайтесь, джуниору (вам) поручена простая задача: создать словарь типа «фамилия»-«зарплата» и удалить из него тех, у кого зарплата ниже 500 кредитов.
Комментарии (726)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
Константин 23 уровень, Москва
21 апреля 2021
через итератор можно не создавая копию Set удалить все значения больше 10.
Константин 23 уровень, Москва
21 апреля 2021
я один применил цикл для 20 слов на Л ? оказывается нужно было просто 20 разных слов ввести через add, а я сидел цикл изобретал)

public static Set<String> createSet(){
        Set<String> set = new HashSet<>();
     for (int i=0; i<20; i++){
       String s = Integer.toString(i);
       set.add("Л" + s);
     }
        return set;
    }
Владимир Назаренко 10 уровень, Москва
14 апреля 2021
В задаче "Нам повторы не нужны" можно создать список типа Set и инициализировать его значениями Value из созданной Map. В нём могут быть только уникальные значения - это можно использовать. Потом берём оттуда имена по очереди и работаем.
Андрей 15 уровень, Magnitogorsk
15 марта 2021
Реально пол дня потерял на задачу "Нам повторы не нужны". Ругался на кривой валидатор, на себя тупого. А в итоге оказалось, что в задаче надо просто выпилить ВСЕ записи, у которых есть дубли. Не дубли удалить, как я думал, и оставить уникальные значения, а именно удалить все такие записи.
GospodinNoskov 15 уровень, Москва
13 марта 2021
задачу про дни рождения летом - решил через вспомогательный список фамилий, по которому потом удалил элементы из рапы
Андрей 15 уровень, Magnitogorsk
13 марта 2021
Тем, кто парится с задачей про Map<Фамилия><Имя>. Вас смущает момент с фамилией: она - ключ и не может повторяться. Да, так и есть и авторы задания это понимают. Так что не надо искать тут скрытого смысла и думать как сделать мапу с неуникальными ключами.
Юра Суботинов 9 уровень, Одесса
12 марта 2021
Не большой хэлп по хардовым задачкам... 1) Особое внимание уделить пониманию и созданию итератора и подумать над созданиями копий Сетов или Мапов (мне помогло и то и другое) 2) Внимательно почитать что такое Map и как он работает, это поможет в решении некоторых задач. Можете даже сделать вывод в консоль Map, у меня прояснилось после этого многое. 3) Для таких как я, кто еще не знает принципы работы с Date. Мне помог метод toString, подумайте как его можно применить и обыграть в задаче "Зинаида..."
SPetr 14 уровень, Минск
10 марта 2021
Третяя задача (про перепись) - а как могут совпадать фамилии если это поле будет ключевым?
Тимур 14 уровень, Новосибирск
5 марта 2021
Я морально унижен и уничтожен, после данной лекции🥴😵
Александр 12 уровень
22 февраля 2021
Если вдруг кто будет тупить как я :), в коллекциях типы хранятся в классах-обертках, т.к. коллекции работают только со ссылками. Что бы получить значение - необходимо использовать метод класса-обертки.