Programming Resources
For Fun and Learning
Charles Cusack
Computer Science
Hope College
main

Python
C++

JAVA


PHP
SQL
Assignments

CSCI125Code


PhoneBookBetter.java

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * Write a description of class BetterPhoneBookStart here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class PhoneBookBetter
{
   HashMap<String,HashMap<String,String>> nameToNumberMapMap;
   
   public PhoneBookBetter() {
       nameToNumberMapMap = new HashMap<>();
   }
   public void addNumber(String name, String numberType, String number) {
       HashMap<String,String> typeMap = nameToNumberMapMap.get(name);
       if(typeMap==null) {
           typeMap = new HashMap<>();
           nameToNumberMapMap.put(name,typeMap);
       }
       typeMap.put(numberType,number);
   }
   
   public String getNumber(String name, String numberType) {
       HashMap<String,String> typeMap = nameToNumberMapMap.get(name);
       if(typeMap!=null) {
           return typeMap.get(numberType);
       } else {
           return null;
       }
   }
   
   public void printNumbers() {
       Set<Map.Entry<String,HashMap<String,String>>> entries = nameToNumberMapMap.entrySet();
       for(Map.Entry<String,HashMap<String,String>> entry : entries) {
           System.out.println("Phone numbers for "+entry.getKey()+":");
           Set<Map.Entry<String,String>> numbers = entry.getValue().entrySet();
           for(Map.Entry<String,String> number : numbers) {
               System.out.println("    "+number.getKey()+": "+number.getValue());
           }
       }
   }
}