1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
-
- import java.util.*;
- /**
- * Created by leon on 1/23/18.
- */
- public class PhoneBook {
-
- Map<String, ArrayList<String> > entries = new TreeMap<String, ArrayList<String>>();
-
- public void add(String name, String phoneNumber){
- if(this.entries.get(name) != null){
- this.entries.get(name).add(phoneNumber);
- } else {
- ArrayList<String> pn = new ArrayList<String>();
- pn.add(phoneNumber);
- this.entries.put(name, pn);
- }
- }
-
- public void removePhoneNumber(String name, String phoneNumber){
-
- ArrayList<String> numbers = this.entries.get(name);
-
- if(numbers != null){
- int indexOf = numbers.indexOf(phoneNumber);
- if(indexOf >= 0){
- numbers.remove(indexOf);
- }
- }
- }
-
- public void removeRecord(String name){
- this.entries.remove(name);
- }
-
- public String lookUp(String name){
- StringBuilder sb = new StringBuilder();
- ArrayList<String> entry = this.entries.get(name);
-
- if(entry != null){
- for(String phoneNumber : entry){
- sb.append(phoneNumber);
- }
- }
-
- return sb.toString();
-
- }
-
- public String reverseLoopup(String phoneNumber){
- String name = null;
- for(Map.Entry<String, ArrayList<String>> entry: this.entries.entrySet()){
- for(String pn : entry.getValue()){
- if(pn.equals(phoneNumber)){
- name = entry.getKey();
- }
- }
- }
- return name;
- }
-
-
- public String display() {
- StringBuilder sb = new StringBuilder();
-
- for(Map.Entry<String, ArrayList<String>> entry :this.entries.entrySet()){
- sb.append(entry.getKey());
- sb.append(": ");
-
- for(String pn : entry.getValue()){
- sb.append(pn);
- //sb.append(" ");
- }
-
- }
-
- return sb.toString();
- }
-
-
-
- }
|