HashMap телефонный справочник

Не могу разобраться в задании: задача про телефонный справочник с поддержкой групп контактов. Один контакт может входить в несколько групп. У пользователя должна быть возможность создания групп и контактов, добавления одного контакта в несколько групп. введите сюда описание изображения

Класс PhoheContacts (прописал три метода, не могу написать 4 метод для сортировки контакты в группы)

public class PhoneContacts {


    private HashMap<String, List<Contact>> phoneContacts;

    public PhoneContacts() {
        this.phoneContacts = new HashMap<>();

    }


    public void groupsContacts(String x) {
        phoneContacts.put(x, new ArrayList<>());

    }

    public void contactsAdd(Contact contact, String[] groups) {
        for (String s : groups) {
            if (phoneContacts.containsKey(s)) {
                phoneContacts.get(s).add(contact);
            }

        }
        System.out.println(phoneContacts);


    }

    public void contactsAndgroup() {
        System.out.println("Группы в справочнике: ");
        for (HashMap.Entry<String, List<Contact>> entry : phoneContacts.entrySet()) {
            System.out.println("- " + entry.getKey() + ": ");
            for (Contact contact : entry.getValue()) {
                System.out.println("Имя: " + contact.getName() + ", Телефон: " + contact.getPhoneNumber());
            }

        }

    }

    public void sortContactGroup(String [] groups, Contact contact) {
        if (contact.getName().equals(contact)) {

        }

    }
}

Класс Contact

public class Contact {
    private String name;

    private String phoneNumber;

    public Contact(String name, String phoneNumber) {
        this.name = name;

        this.phoneNumber = phoneNumber;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    @Override
    public String toString() {
        return "Контакт " +
                "имя " + name + '\'' +
                "номер телофона " + phoneNumber +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Contact contact = (Contact) o;

        if (!name.equals(contact.name)) return false;
        return phoneNumber.equals(contact.phoneNumber);
    }

    @Override
    public int hashCode() {
        int result = name.hashCode();
        result = 31 * result + phoneNumber.hashCode();
        return result;
    }
}

2 основных вопроса

  1. Как реализовать метод сортировки в PnoneContacts?
  2. Как реализовать main с помощью сканера и бесконечного цикла? Заранее благодарю!

Ответы (0 шт):