package CollectionEx; // we want to use these without typing java.util.ArrayList etc import java.util.*; // example of using Lists with comparable classes and comparators public class ListSortExample { // example with HCCClasses public static void classExample() { // set up and fill list of classes List classlist = new ArrayList<>(); //List classlist = new LinkedList<>(); classlist.add(new HCCClass("CIS", 214, "Java Programming Language", 4)); classlist.add(new HCCClass("MATH", 1, "Remedial Counting", 1)); classlist.add(new HCCClass("BA", 210, "Business Applications", 3)); classlist.add(new HCCClass("ART", 184, "Goldsmithing", 3)); classlist.add(new HCCClass("NURS", 101, "Saving Actual Lives", 4)); classlist.add(new HCCClass("CIS", 102, "Intro to Information Systems", 3)); System.out.println("unsorted " + classlist); // sort with built-in compareTo, since classlist implements Comparable Collections.sort(classlist); System.out.println("sorted " + classlist); // sort with ClassCreditComparator, which implements Comparator ClassCreditComparator compByCredit = new ClassCreditComparator(); Collections.sort(classlist, compByCredit); Collections.sort(classlist, (a, b) -> a.getCredits() - b.getCredits()); // more common just to create the comparator inline //Collections.sort(classlist, new ClassCreditComparator()); System.out.println("sorted by credits" + classlist); } // call examples public static void main(String[] args) { classExample(); } }