Comparator in the driver
 
This driver is horribly embarrassing, but leaving aside its jumbledness, 
why is the Comparator not sorting?  I want to sort guestsByCity using the 
Comparator BY_CITY.
Basically, various representations of a collection of Guest instances is 
the requirement.
I do have a GuestSort class with the Comparator, but couldn't get it to 
compile, so stuck it in the driver:
thufir@arrakis:~/bcit-comp2611-lab3$ 
thufir@arrakis:~/bcit-comp2611-lab3$ cat src/a00720398/labs/Lab3.java
/**
 * Lab3.java
 * this class is far too full.
 */
package a00720398.labs;
import a00720398.data.*;
import a00720398.util.*;
import java.util.*;
public class Lab3
{
    private final static String[][]
            
            GUEST_DATA = {
                { "Lee", "Brenda", "(604) 636-1000", "b.lee@bcit.ca" },
                { "Sullivan", "Sam", "604-873-7011", 
"Sam777@hotmail.com" },
                { "Johansen", "Lars", "(604) 636-1000", 
"Lars147@gmail.com" }},
            
            
            ADDRESS_DATA = {
                { "3700 Willingdon Avenue", "Burnaby", "British 
Columbia", "V5G 3H2", "Canada" },
                { "453 West 12th Avenue", "Vancouver", "BC", "V5Y 1V4", 
"Canada" },
                { "1000 Lougheed Highway", "Coquitlam", "British 
Columbia","V3K 3T5", "Canada" } };
        private static List<Guest> guestList;
        private static List<Guest> guestListByName;
        private static Map<String,Guest> guestMap = new 
HashMap<String,Guest>();
        private static Set<Guest> noDups;
//      private static SortedSet<Guest> guestsByCity;
        private static List<Guest> guestsByCity;
        public static void loadGuestList(){
                int i=0;
                guestList = new ArrayList<Guest>();
        for(String[] info : GUEST_DATA){
                                ContactInfo contactInfo = new ContactInfo
(GUEST_DATA[i],ADDRESS_DATA[i]);
            Guest guest = new Guest(contactInfo);
            guestList.add(guest);
            i++;
        }
        }
        public static void loadGuestMap(){
                for (Guest guest : guestList){
                        ContactInfo contactInfo = guest.getContactInfo();
                        String postalCode = contactInfo.getPostalCode();
                        guestMap.put(postalCode,guest);
                }
        }
        private static void printGuestMap(){}
        private static void loadGuestListByName(){
                guestListByName = guestList;
        }
        private static void loadGuestByCity(){
        //      guestsByCity = CollectionUtil.listToSet(guestListByName);
                guestsByCity = guestList;
        }
        static final Comparator<Guest> BY_CITY = new Comparator<Guest>(){
                public int compare(Guest g1, Guest g2){
                        ContactInfo c1 = g1.getContactInfo();
                        ContactInfo c2 = g2.getContactInfo();
                        return c2.getCity().compareTo(c1.getCity());
                }
        };
        public static void main (String[] args)
        {
                        loadGuestList();
                        System.out.println("ORIGINAL LIST\n=============\n
\n\n");
                        CollectionUtil.print(guestList);
                        System.out.println("LIST SORTED BY LAST NAME:
\n========================\n\n\n");
                        loadGuestListByName();
                        CollectionUtil.print(guestListByName);
                        noDups = CollectionUtil.removeDups
(guestListByName);
                        if (CollectionUtil.hasDups(noDups)) {
                                System.out.println("duplicates\n\n\n");
                        } else {
                                System.out.println("The task list is a 
set.\n\n\n");
                        }
                        System.out.println("SET AUTOMATICALLY SORTED BY 
CITY:\n===============================\n\n\n");
                        loadGuestByCity();
                        Collections.sort(guestsByCity, BY_CITY);
                        CollectionUtil.print(guestsByCity);
                        System.out.println("THE MAP:\n=======\n\n\n");
                        loadGuestMap();
                        printGuestMap();
    }
}
thufir@arrakis:~/bcit-comp2611-lab3$ 
thufir@arrakis:~/bcit-comp2611-lab3$ 
thanks,
Thufir