Thank you as always GoToLoop!
The original code example now works with a new understanding of comparators gleaned from your examples (and some doc research).
import java.util.Comparator;
void setup(){
ArrayList<PVector> points = new ArrayList();
PVector p0 = new PVector(100, -100);
PVector p1 = new PVector(-130, 65);
PVector p2 = new PVector(135, 155);
points.add( p0 );
points.add( p1 );
points.add( p2 );
println(points);
points.sort(pvHeading);
println(points);
}
public static Comparator<PVector> pvHeading = new Comparator<PVector>() {
@Override
public int compare(PVector a, PVector b) {
return (int) Math.signum(a.heading() - b.heading());
}
};