/** * Created by leon on 1/23/18. */ import java.util.*; import java.lang.*; public class PhoneBook { Map> phoneBook = new TreeMap>(); public PhoneBook(){ } public ArrayList add(String name, String phoneNumber){ ArrayList numbers = new ArrayList<>(); if(phoneBook.containsKey(name)) numbers = phoneBook.get(name); numbers.add(phoneNumber); add(name, numbers); return phoneBook.get(name); // phoneBook.put(name, phoneNumber); } public ArrayList add(String name, ArrayList phoneNumbers){ phoneBook.put(name, phoneNumbers); return phoneBook.get(name); } public ArrayList remove(String name){ phoneBook.remove(name); return phoneBook.get(name); } public ArrayList lookUp(String name){ ArrayList number = new ArrayList<>(); for(Map.Entry> book: phoneBook.entrySet()){ if(book.getKey().equals(name)){ number = book.getValue(); } } return number; } public String reverseLookUp(ArrayList phoneNumber){ String name = null; for(Map.Entry> book: phoneBook.entrySet()){ if(book.getValue().equals(phoneNumber)){ name = book.getKey(); } } return name; } public void display(){ for(Map.Entry> book: phoneBook.entrySet()){ System.out.println(book.getKey()); for(String num: book.getValue()){ System.out.println("- "+ num); } } } public int size(){ return phoneBook.size(); } }