@@ -0,0 +1,2334 @@
+%0A/** %3C%3C%3C This Code Is Not Complete %3E%3E%3E%0A * An AddressBook is a list of contacts in alphabetical order by last name.%0A */%0Aimport java.util.*;%0A%0Apublic class AddressBook %7B%0A%0A    private ArrayList%3CContact%3E list;%0A%0A    public AddressBook() %7B%0A        list = new ArrayList%3CContact%3E();%0A    %7D%0A%0A    /**  %3C%3C%3C Code Not Complete %3E%3E%3E%0A     * 1) checks to see if first and last name is on list%0A     * 2) if not already on the list the new contact is added%0A     * 3) maintains the alphabetical order of the list%0A     */%0A    public void addContact(String first, String last, String email) %7B%0A        for (Contact i : list) %7B%0A            if (i.getFirst() == first && i.getLast() == last) %7B%0A                return;%0A            %7D%0A        %7D%0A        for (int i=0; i%3Clist.size()-1; i++) %7B%0A            Contact current = list.get(i);%0A            int compared = last.compareTo(current.getLast());%0A            if (last.compareTo(current.getLast()) %3C 0) %7B%0A                list.add(i, new Contact(first, last, email));%0A                return;%0A            %7D%0A        %7D%0A        list.add(new Contact(first, last, email));%0A    %7D%0A%0A%0A    /** %3C%3C%3C Code Not Complete  %3E%3E%3E%0A     * looks for first and last name match and removes it if found%0A     */%0A    public void removeContact(String first, String last) %7B%0A        for (int i=0; i%3Clist.size(); i++) %7B%0A            if (list.get(i).getFirst() == first && list.get(i).getLast() == last) %7B%0A                list.remove(i);%0A            %7D%0A        %7D%0A    %7D%0A%0A%0A    /** %3C%3C%3C Code Not Complete %3E%3E%3E%0A     * adds the contants from: AddressBook otherBook,%0A     * to: this AddressBook%0A     * maintains the alphabetical order and does not%0A     * add duplicates%0A     */%0A    public void mergeBooks(AddressBook otherBook) %7B%0A        ArrayList%3CContact%3E otherList = otherBook.getList();%0A        for (Contact i : otherList) %7B%0A            this.addContact(i.getFirst(), i.getLast(), i.getEmail());%0A        %7D%0A    %7D%0A%0A    /**%0A     * %3C%3C%3C Code Not Complete %3E%3E%3E%0A     * returns list of contacts: first name, last name, email address%0A     */%0A    public String toString() %7B%0A        String out = %22%22;%0A        for (Contact i : this.list) %7B%0A            out += i.getFirst() + %22 %22 + i.getLast() + %22 (%22 + i.getEmail() + %22)%5Cn%22;%0A        %7D%0A        return out.substring(0, out.length() - 2) + %22%5D%22;%0A    %7D%0A%0A    public ArrayList%3CContact%3E getList() %7B%0A        return this.list;%0A    %7D%0A%7D%0A

Create AddressBook.java