From 2e483c5d67df6135a5cf8a3e41615441d61b3952 Mon Sep 17 00:00:00 2001 From: Jbanksalpha <78812718+Jbanksalpha@users.noreply.github.com> Date: Sun, 28 Mar 2021 19:32:23 -0400 Subject: [PATCH] finshed the lab --- .../phonebook/PhoneBook.java | 63 ++++++++++++++----- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java b/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java index d4a35dc..394df89 100644 --- a/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java +++ b/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java @@ -1,54 +1,89 @@ 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. * Made WAY better by kristofer 6/16/20 */ + + + public class PhoneBook { - private final Map> phonebook; + private Map> phonebook = new LinkedHashMap<>(); + private List telephoneNumbers = new ArrayList<>(); - public PhoneBook(Map> map) { - this.phonebook = null; + //private final Map> phonebook; + + public PhoneBook(Map> phonebookMap) { + this.phonebook = phonebookMap; } + + public PhoneBook() { - this(null); + // this(null); } public void add(String name, String phoneNumber) { + telephoneNumbers.add(phoneNumber); + phonebook.put(name, telephoneNumbers); } public void addAll(String name, String... phoneNumbers) { + telephoneNumbers.addAll(Arrays.asList(phoneNumbers)); + // assert phonebook != null; + phonebook.put(name, telephoneNumbers); } public void remove(String name) { + phonebook.remove(name); + } public Boolean hasEntry(String name) { - return null; + + return phonebook.containsKey(name); + } + public Boolean hasEntry(String name, String phoneNumber) { + phonebook.containsValue(phoneNumber); + return phonebook.containsKey(name); + } + + public List lookup(String name) { - return null; + return phonebook.get(name); } public String reverseLookup(String phoneNumber) { - return null; + List contactNames =getAllContactNames(); + List numbers; + for(String name : contactNames) { + numbers = phonebook.get(name); + for (String number : numbers) { + if (number == phoneNumber) { + return name; + } + } + } + + return null; } public List getAllContactNames() { - return null; + List contactNames = new ArrayList<>(); + for (String key : phonebook.keySet()) { + contactNames.add(key); + } + return contactNames; } public Map> getMap() { - return null; + return phonebook; } }