import java.util.*; /** * Created by leon on 1/23/18. */ public class PhoneBook { private Map> phoneBook; public PhoneBook() { phoneBook = new TreeMap>(); } public ArrayList add(String name, String number) { if (phoneBook.get(name) == null) { phoneBook.put(name, new ArrayList()); } phoneBook.get(name).add(number); return phoneBook.get(name); } public ArrayList lookup(String name) { return phoneBook.get(name); } public String reverseLookup(String phoneNumber) { String name = "not found"; for (Map.Entry> entry : phoneBook.entrySet()) { for (String numbers : entry.getValue()) { if (numbers.equals(phoneNumber)) name = entry.getKey(); } } return name; } public String display() { StringBuilder phoneNumbers = new StringBuilder(); for (Map.Entry> entry : phoneBook.entrySet()) { phoneNumbers.append(entry.getKey() + " "); for (String number : entry.getValue()) { phoneNumbers.append(number + " "); } phoneNumbers.append("\n"); } return phoneNumbers.toString(); } }