package xmp_func;

import java.awt.geom.Ellipse2D;
import java.util.Comparator;
import java.util.Arrays;

public class MyEllipseComp_IC {

	public static void main(String[] args) {

		Ellipse2D.Double[ ] circles = {
			new Ellipse2D.Double(4, 7, 12, 12),
			new Ellipse2D.Double(5, 11, 16, 16),
			new Ellipse2D.Double(2, 65, 10, 10),
			new Ellipse2D.Double(7, 12, 1, 1),
			new Ellipse2D.Double(12, 6, 15, 15),
			new Ellipse2D.Double(34, 2, 14, 14) } ;

			/* Anonymous Inner Class! */
			Comparator<Ellipse2D.Double> comp = new Comparator<Ellipse2D.Double>() {
				@Override
				public int compare(Ellipse2D.Double arg0, Ellipse2D.Double arg1) {
					int retVal = 0;
					double area0 = arg0.width*arg0.height;
					double area1 = arg1.width*arg1.height;
					if(area0 < area1) retVal = -1;
					else if(area0 > area1) retVal = 1;
					return retVal;
				}
			} ;

		Arrays.sort(circles, comp);
		for(Ellipse2D.Double e : circles) { System.out.print(e.width + " "); }
		System.out.println();

	}

}