fork download
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;
  4.  
  5. class Main {
  6. public static class Player {
  7. private final float distance;
  8.  
  9. public Player (final float position) {
  10. this.distance = position;
  11. }
  12.  
  13. public float getDistanceFrom () {
  14. return distance;
  15. }
  16.  
  17. @Override
  18. public String toString() {
  19. return "Player [distance=" + distance + "]";
  20. }
  21. }
  22.  
  23. public static void main(String[] args) throws Exception {
  24. final ArrayList<Player> players = new ArrayList<Player> ();
  25.  
  26. players.add (new Player (2));
  27. players.add (new Player (5));
  28. players.add (new Player (-3));
  29. players.add (new Player (1));
  30.  
  31. Collections.sort(players, new Comparator<Player> () {
  32. @Override
  33. public int compare(Player o1, Player o2) {
  34. final float distance1 = o1.getDistanceFrom();
  35. final float distance2 = o2.getDistanceFrom();
  36. return (int) Math.signum (distance1 - distance2);
  37. }
  38. });
  39. System.out.println(players);
  40. }
  41. }
Success #stdin #stdout 0.06s 215552KB
stdin
Standard input is empty
stdout
[Player [distance=-3.0], Player [distance=1.0], Player [distance=2.0], Player [distance=5.0]]