import java.util.*;
class Contact {
private String name;
private String phoneNumber;
private String group;
public Contact(String name, String phoneNumber, String group) {
this.name = name;
this.phoneNumber = phoneNumber;
this.group = group;
}
public String getName() {
return name;
}
public String getPhoneNumber() {
return phoneNumber;
}
public String getGroup() {
return group;
}
}
public class Phonebook {
private Map<String, Set<Contact>> contacts;
public Phonebook() {
this.contacts = new HashMap<>();
}
public void addContact(String group, String name, String phoneNumber) {
Contact contact = new Contact(name, phoneNumber, group);
if (!contacts.containsKey(group)) {
contacts.put(group, new HashSet<>());
}
contacts.get(group).add(contact);
}
public void printContacts() {
for (Map.Entry<String, Set<Contact>> entry : contacts.entrySet()) {
String groupName = entry.getKey();
Set<Contact> contactSet = entry.getValue();
System.out.println("Group: " + groupName);
for (Contact contact : contactSet) {
System.out.println("Name: " + contact.getName());
System.out.println("Phone Number: " + contact.getPhoneNumber());
System.out.println();
}
}
}
public static void main(String[] args) {
Phonebook phoneBook = new Phonebook();
phoneBook.addContact("Colleague", "John Doe", "1234567890");
phoneBook.addContact("Colleague", "Jane Smith", "9876543210");
phoneBook.addContact("Family", "David Johnson", "1112223333");
phoneBook.addContact("Friends", "Sarah Williams", "4445556666");
System.out.println("Contacts in the phonebook:");
phoneBook.printContacts();
}
}