# Sorting an array

**URL:** <https://discourse.processing.org/t/sorting-an-array/20992>\
**Category:** Coding Questions\
**Created:** [May 18, 2020, 1:39am UTC](https://discourse.processing.org/t/sorting-an-array/20992 "2020-05-18T01:39:37Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![GoToLoop](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/gotoloop/32/86_2.png) [@GoToLoop](https://discourse.processing.org/u/GoToLoop)\
**Post date:** [May 18, 2020, 2:34am UTC](https://discourse.processing.org/t/sorting-an-array/20992/3 "2020-05-18T02:34:18Z")

</div>

- [Docs.Oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html#compareTo(T)](http://Docs.Oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html#compareTo(T))
- [Docs.Oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collections.html#sort(java.util.List)](http://Docs.Oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collections.html#sort(java.util.List))

```auto
// https://Discourse.processing.org/t/sorting-an-array/20992/3
// GoToLoop (2020/May/17)

import java.util.Collections;
import java.util.List;

final PVector[] vecs = {
  new PVector(100, -100), 
  new PVector(-130, 65), 
  new PVector(135, 155)
};

final List<VecHead> points = new ArrayList<VecHead>(vecs.length);

void setup() {
  for (final PVector v : vecs) points.add(new VecHead(v));
  println(points);

  Collections.sort(points);
  println(points);

  exit();
}

static class VecHead extends PVector implements Comparable<VecHead> {
  float heading;

  VecHead(final PVector vec) {
    heading = set(vec).heading();
  }

  VecHead reheading() {
    heading = heading();
    return this;
  }

  @Override int compareTo(final VecHead v) { // ascending
    return (int) Math.signum(heading - v.heading);
  }

  @Override String toString() {
    return super.toString() + " (heading: " + heading + ')';
  }
}

```

---

_[View the full topic](https://discourse.processing.org/t/sorting-an-array/20992)._
