diff --git a/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java b/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java index d4a35dc..9c6546c 100644 --- a/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java +++ b/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java @@ -1,11 +1,8 @@ package com.zipcodewilmington.phonebook; -import java.util.List; -import java.util.ArrayList; +import java.util.*; //import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map; + /** * Created by leon on 1/23/18. @@ -16,39 +13,63 @@ public class PhoneBook { private final Map> phonebook; public PhoneBook(Map> map) { - this.phonebook = null; + this.phonebook = map; } public PhoneBook() { - this(null); + this.phonebook = new LinkedHashMap>(); } public void add(String name, String phoneNumber) { + phonebook.put(name,new ArrayList()); + phonebook.get(name).add(phoneNumber); } public void addAll(String name, String... phoneNumbers) { + phonebook.put(name, Arrays.asList(phoneNumbers)); + } public void remove(String name) { + phonebook.remove(name); } public Boolean hasEntry(String name) { - return null; + if(phonebook.containsKey(name)){ + return true; + } + + return false; + } + public Boolean hasEntry(String name, String string) { + if(phonebook.containsKey(name)){ + return true; + } + return false; } public List lookup(String name) { - return null; + return phonebook.get(name); } - public String reverseLookup(String phoneNumber) { - return null; + public String reverseLookup(String phoneNumber) { + String list = ""; + for(String key: phonebook.keySet()){ + if(phonebook.get(key).equals(phoneNumber)) { + list = list.concat(key); + return list; + } + } + return null; } public List getAllContactNames() { - return null; + LinkedHashMap> newMap = new LinkedHashMap>(); + newMap.putAll(phonebook); + return new ArrayList(newMap.keySet()); } public Map> getMap() { - return null; + return phonebook; } } diff --git a/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java b/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java index 6ff15a1..59a5d82 100644 --- a/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java +++ b/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java @@ -3,6 +3,11 @@ import org.junit.Assert; import org.junit.Test; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class RemoveTest { @Test public void test1() { @@ -13,6 +18,9 @@ public void test1() { phoneBook.add(name, phoneNumber); Assert.assertTrue(phoneBook.hasEntry(name, phoneNumber)); + Map> demoPhonebook = phoneBook.getMap(); + PhoneBook newPhoneBook = new PhoneBook(demoPhonebook); + // when phoneBook.remove(name);