import java.util.*; /** * Created by leon on 1/23/18. */ public class PhoneBook { private TreeMap> phoneBook; public PhoneBook() { phoneBook = new TreeMap>(); } public void add(String name, String phoneNumber) { ArrayList input = phoneBook.containsKey(name) ? phoneBook.get(name) : new ArrayList(); input.add(phoneNumber); phoneBook.put(name, input); } public void removeEntry(String name) { phoneBook.remove(name); } public String lookup(String name) { return phoneBook.get(name) .toString() .replaceAll("[\\[\\]]", ""); } public String reverseLookup(String phoneNumber) { String output = ""; Set keys = phoneBook.keySet(); for (String key : keys) { if (phoneBook.get(key).contains(phoneNumber)) { output = key; } } return output.equals("") ? "No associated name." : output; } public String display() { return phoneBook.toString().replaceAll("[{}=,]", "") .replaceAll("\\[", " - ") .replaceAll("\\]", "\n"); } public TreeMap getPhoneBook() { return phoneBook; } }