// this code creates several objects of type Circ3 and sorts them by using
// the static sort() method of class Arrays
import java.util.Comparator;

public class SortCircs2
{
  public static void main(String[] args)
  {
     Circ3[] circs = {new Circ3(1, 1, 2), new Circ3(3, 8, 5),
        new Circ3(1, 1, 8), new Circ3(3, 8, 3),      // create some circs
        new Circ3(1, 1, 4), new Circ3(3, 8, 9)};

     System.out.println("Unsorted Circles:");        // unsorted circles   
     for (int i=0; i<circs.length; i++)
       System.out.println(circs[i]);

     Comparator<Circ3> c = new Comparator<Circ3>()   // comparator for
     {                                               // sorting circles 
       public int compare(Circ3 c1, Circ3 c2)        // by radius
       {
         if (c1.getRadius() < c2.getRadius()) return -1;
         if (c1.getRadius() > c2.getRadius()) return 1;
         return 0;
       }
     };

     Comparator<Circ3> c2 = new Comparator<Circ3>()   // year another comparator
     {                                                // for sorting the  
       public int compare(Circ3 c1, Circ3 c2)         // circles by their
       {                                              // x-coordinates
         if (c1.getX() < c2.getX()) return -1;
         if (c1.getX() > c2.getX()) return 1;
         return 0;
       }
     };

     java.util.Arrays.sort(circs, c2);                // sort the circles

     System.out.println("\nSorted Circles:");         // print them sorted
     for (int i=0; i<circs.length; i++)
       System.out.println(circs[i]);
  }
}


