So I wanna sort an array of Points using the built in sorting method, by a specific coordinate, say x. How can I do this? Heres a sample code:
Point A[] = new Po
You can also use Apache Commons Bean Comparator
http://commons.apache.org/beanutils/apidocs/org/apache/commons/beanutils/BeanComparator.html
And then do something like
import org.apache.commons.beanutils.BeanComparator;
Arrays.sort(A, new BeanComparator("x"));
Point
isn't Comparable
so you'll need to write your own comparator and pass it in when calling Arrays.sort
. Luckily, that's not too hard:
class PointCmp implements Comparator<Point> {
int compare(Point a, Point b) {
return (a.x < b.x) ? -1 : (a.x > b.x) ? 1 : 0;
}
}
Arrays.sort(A, new PointCmp());