package class1_Lab_Sorting; import java.util.ArrayList; import java.util.Comparator; /* * THis example DOES NOT COMPILE * * See sortByName for the incomplete example. */ public class ClassList { private ArrayList classes = new ArrayList();; public void add(Class cls) { classes.add(cls); } /** * Brief sketch of how to apply strategy pattern to the sortByName method * @param comp */ public void sortByName(Comparator comp) { for(int i = 0; i < classes.size(); i++) { for(int j = 0; j < classes.size()-1; j++) { if(comp.compareTo(classes.get(j), classes.get(j+1).getName()) > 0) { Class temp = classes.get(j+1); classes.set(j+1,classes.get(j)); classes.set(j,temp); } } } } public void printAll() { for(Class cls: classes) { System.out.println("Class: "+cls.getName()); } } }