import java.util.*; import java.util.Map.Entry; public class PhoneBook { Map> phoneMap = new TreeMap>(); List phoneNumbers = new ArrayList(); public void add(String name, String phoneNumber){ phoneNumbers.add(phoneNumber); phoneMap.put(name, phoneNumbers); } public void remove(String name){ phoneMap.remove(name); } public String lookup(String name){ return phoneNumbers.iterator(phoneMap.get(name)); } public String reverseLookup(String phoneNumber){ for(Entry entry : phoneMap.entrySet()){ if(entry.getValue().equals(phoneNumber)){ return entry.getKey(); } } return null; } }