C2.java
import java.util.*;
/**
Play around with TreeSets and Comparators.
*/
class C2
{
public static void main(String argv[])
{
TreeSet x = new TreeSet(new Comparator() {
public int compare(Object a,Object b) {
/*
Sort on length, then lexicographically.
*/
String aa = (String)a;
String bb = (String)b;
if (aa.length() == bb.length())
return aa.compareTo(bb);
else
return aa.length() - bb.length();
}
});
x.add("Tufted titmouse");
x.add("White-breasted nuthatch");
x.add("Red-breasted nuthatch");
x.add("Downy woodpecker");
x.add("Hairy woodpecker");
x.add("Red-bellied woodpecker");
x.add("Junco");
x.add("House finch");
x.add("House sparrow");
x.add("Bluejay");
x.add("Cardinal");
x.add("Ruby-throated hummingbird");
x.add("Sparrow");
x.add("Carolina wren");
x.add("Black-capped chickadee");
x.add("Robin");
x.add("Cowbird");
x.add("Catbird");
x.add("Mockingbird");
x.add("Grackle");
x.add("Crow");
x.add("Red-winged blackbird");
System.out.println("\nA 'sorted' list of birds:");
Iterator y = x.iterator();
while (y.hasNext()) {
Object z = y.next();
System.out.println(" " + z);
}
}
}