import java.util.Map; import java.util.*; public class PhoneBook { Map> phoneBook = new TreeMap>(); public PhoneBook(){ } public void addEntrant(String name, String...phoneNumber){ String checkName = lookup(name); if(checkName == null){ phoneBook.put(name, Arrays.asList(phoneNumber)); } else { System.out.println("Error, user already exists"); } } public void removeEntrant(String name){ phoneBook.remove(name); } public String lookup(String name){ if (phoneBook.get(name) == null){ return null; } StringBuilder numbersList = new StringBuilder(); int counter = 0; for(String number: phoneBook.get(name)){ numbersList.append(number); counter++; if(counter != phoneBook.get(name).size()){ numbersList.append(", "); } } return numbersList.toString(); } public String reverseLookup(String phoneNumber){ for(Map.Entry> element: phoneBook.entrySet()){ String key = element.getKey(); List value = element.getValue(); if(value.equals(phoneNumber)){ return key; } } return "This number does not belong to anyone"; } public void display(){ for(Map.Entry> element: phoneBook.entrySet()){ String key = element.getKey(); List value = element.getValue(); System.out.println( key + ":" + value); } } }