Эта задача про телефонный справочник с поддержкой групп контактов. Один контакт может входить в несколько групп. Например, если вы работаете со своим другом, то он будет в группах "Друзья" и "Работа". Должна быть возможность создания групп и контактов, добавления одного контакта в несколько групп. Вам предстоит разработать систему классов:
Contact
- класс контактPhoneBook
- класс телефонной книги с контактами и группами.
Общаться с пользователем в main
необязательно, просто продемонстрируйте работспособность ваших классов.
- Создание группы контактов;
- Создание контакта;
- Добавление контакта в разные группы;
- Поиск контактов по группе;
- Поиск контакта по номеру (одну из этих двух последних операций можно сделать перебором);
- Создадим класс
PhoneBook
, в котором будем хранить все созданные группы. - В классе
PhoneBook
создадимHashMap
: ключом для этой коллекции будет название группы, а значением — список контактов (List<Contact>
). - Создадим класс
Contact
c полями: имя и номер телефона (при необходимости переоределимhashCode, equals, toString
). - Создадим методы для добавления группы и контакта в группы в классе
PhoneBook
. - Для демонстрации работы программы в коде создадим несколько контактов и добавим их в несколько групп.