Browse Source

fixed test

Jamez-s 6 years ago
parent
commit
71bf5e3cae
2 changed files with 26 additions and 13 deletions
  1. 26
    12
      PhoneBook.java
  2. 0
    1
      pets

+ 26
- 12
PhoneBook.java View File

6
 public class PhoneBook {
6
 public class PhoneBook {
7
     String name;
7
     String name;
8
     String phoneNumber;
8
     String phoneNumber;
9
+    
10
+    // create treemap(hashmap), has key String, value arrayList of Strings
9
     TreeMap<String, ArrayList<String>> phoneBook = new TreeMap<>();
11
     TreeMap<String, ArrayList<String>> phoneBook = new TreeMap<>();
10
-
12
+    
13
+    // construct an instance of phoneBook
11
     public PhoneBook(TreeMap<String, ArrayList<String>> phoneBook) {
14
     public PhoneBook(TreeMap<String, ArrayList<String>> phoneBook) {
12
         this.phoneBook = phoneBook;
15
         this.phoneBook = phoneBook;
13
     }
16
     }
14
-
17
+    
18
+    // default constructor
15
     public PhoneBook(){}
19
     public PhoneBook(){}
16
 
20
 
17
     public void add(String name, String phoneNumber){
21
     public void add(String name, String phoneNumber){
22
+        // if phonebook does NOT contain key(name), put name on list
18
         if (!phoneBook.containsKey(name)) {
23
         if (!phoneBook.containsKey(name)) {
19
             ArrayList<String> list = new ArrayList<>();
24
             ArrayList<String> list = new ArrayList<>();
20
             list.add(phoneNumber);
25
             list.add(phoneNumber);
21
-            phoneBook.put(name, list);          
26
+            phoneBook.put(name, list);
27
+            // or else, create tempoary arraylist and add phonenumber
22
         } else {
28
         } else {
23
-
24
             ArrayList<String> temp = phoneBook.get(name);
29
             ArrayList<String> temp = phoneBook.get(name);
25
             temp.add(phoneNumber);
30
             temp.add(phoneNumber);
26
-            phoneBook.replace(name, phoneBook.get(name), temp);//key,old,new
27
-
31
+            
32
+            //(key,old key,new key)
33
+            phoneBook.replace(name, phoneBook.get(name), temp);
28
         }   
34
         }   
29
     }
35
     }
30
 
36
 
31
     public void remove(String name, String phoneNumber){
37
     public void remove(String name, String phoneNumber){
38
+        
32
         ArrayList<String> list = phoneBook.get(name);
39
         ArrayList<String> list = phoneBook.get(name);
33
-
40
+        // if only one number, remove name
34
         if(list.size() == 1) {
41
         if(list.size() == 1) {
35
-            phoneBook.remove(name); 
42
+            phoneBook.remove(name);
43
+            
44
+            // or else create temp arraylist and remove phonenumber/replace
45
+            // in list with parameters (name, list, temp)
36
         } else {
46
         } else {
37
             ArrayList<String> temp = phoneBook.get(name);
47
             ArrayList<String> temp = phoneBook.get(name);
38
             temp.remove(phoneNumber);
48
             temp.remove(phoneNumber);
43
     public void removeRecord(String name) {
53
     public void removeRecord(String name) {
44
         phoneBook.remove(name);
54
         phoneBook.remove(name);
45
     }
55
     }
46
-
56
+    
57
+    // lookup returns list of phonenumbers for given name
47
     public ArrayList<String> lookup(String name){
58
     public ArrayList<String> lookup(String name){
48
         return phoneBook.get(name);
59
         return phoneBook.get(name);
49
     }
60
     }
50
-
61
+    
62
+    
51
     public String reverseLookup(String phoneNumber) {
63
     public String reverseLookup(String phoneNumber) {
52
-        // for each entry in phonebook
64
+        // for each entry in phonebook, lookup array of name/number
53
         for (Map.Entry<String, ArrayList<String>> entry : phoneBook.entrySet()) {
65
         for (Map.Entry<String, ArrayList<String>> entry : phoneBook.entrySet()) {
54
             // gets name
66
             // gets name
55
             String name = entry.getKey();
67
             String name = entry.getKey();
69
         // build a string to display
81
         // build a string to display
70
         StringBuilder sb = new StringBuilder();
82
         StringBuilder sb = new StringBuilder();
71
         
83
         
84
+        // For (string, phone number) entry, iterate thru phoneBook.entrySet
72
         for (Map.Entry<String, ArrayList<String>> entry : phoneBook.entrySet()){
85
         for (Map.Entry<String, ArrayList<String>> entry : phoneBook.entrySet()){
73
             
86
             
74
             String name = entry.getKey();
87
             String name = entry.getKey();
75
             ArrayList<String> numbers = entry.getValue();
88
             ArrayList<String> numbers = entry.getValue();
76
-
89
+            
90
+            // when key got, add name to space " "
77
             sb.append(name).append(" ");
91
             sb.append(name).append(" ");
78
 
92
 
79
             // for each number in element, append to name
93
             // for each number in element, append to name

+ 0
- 1
pets View File

1
-private PetOwner petOwner;