Source : Here
You can use Collections.sort
with a custom Comparator<Team>
.
class Team {
public final int points;
// ...
};
List<Team> players = // ...
Collections.sort(players, new Comparator<Team>() {
@Override public int compare(Team p1, Team p2) {
return p1.points- p2.points;
}
});
Alternatively, you can make Team implements
Comparable<Team>
. This defines the natural ordering for all Team
objects. Using a Comparator
is more flexible in that different implementations can order by name, age, etc.
See also
For completeness, I should caution that the return o1.f - o2.f
comparison-by-subtraction shortcut must be used with extreme caution due to possible overflows (read: Effective Java 2nd Edition: Item 12: Consider implementing Comparable
). Presumably hockey isn’t a sport where a player can score goals in the amount that would cause problems =)