import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class Main {
public static class Player {
private final float distance;
public Player (final float position) {
this.distance = position;
}
public float getDistanceFrom () {
return distance;
}
@Override
return "Player [distance=" + distance + "]";
}
}
final ArrayList<Player> players = new ArrayList<Player> ();
players.add (new Player (2));
players.add (new Player (5));
players.add (new Player (-3));
players.add (new Player (1));
@Override
public int compare(Player o1, Player o2) {
final float distance1 = o1.getDistanceFrom();
final float distance2 = o2.getDistanceFrom();
return (int) Math.
signum (distance1
- distance2
); }
});
}
}
ICAgIGltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OwoJaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uczsKCWltcG9ydCBqYXZhLnV0aWwuQ29tcGFyYXRvcjsKCQoJY2xhc3MgTWFpbiB7CgkJcHVibGljIHN0YXRpYyBjbGFzcyBQbGF5ZXIgewoJCQlwcml2YXRlIGZpbmFsIGZsb2F0IGRpc3RhbmNlOwoJCgkJCXB1YmxpYyBQbGF5ZXIgKGZpbmFsIGZsb2F0IHBvc2l0aW9uKSB7CgkJCQl0aGlzLmRpc3RhbmNlID0gcG9zaXRpb247CQkJCgkJCX0KCQkJCgkJCXB1YmxpYyBmbG9hdCBnZXREaXN0YW5jZUZyb20gKCkgewoJCQkJcmV0dXJuIGRpc3RhbmNlOwoJCQl9CgkKCQkJQE92ZXJyaWRlCgkJCXB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7CgkJCQlyZXR1cm4gIlBsYXllciBbZGlzdGFuY2U9IiArIGRpc3RhbmNlICsgIl0iOwoJCQl9CgkJfQoJCgkJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbiB7CgkJCWZpbmFsIEFycmF5TGlzdDxQbGF5ZXI+IHBsYXllcnMgPSBuZXcgQXJyYXlMaXN0PFBsYXllcj4gKCk7CgkJCQoJCQlwbGF5ZXJzLmFkZCAobmV3IFBsYXllciAoMikpOwoJCQlwbGF5ZXJzLmFkZCAobmV3IFBsYXllciAoNSkpOwoJCQlwbGF5ZXJzLmFkZCAobmV3IFBsYXllciAoLTMpKTsKCQkJcGxheWVycy5hZGQgKG5ldyBQbGF5ZXIgKDEpKTsKCQkJCgkJCUNvbGxlY3Rpb25zLnNvcnQocGxheWVycywgbmV3IENvbXBhcmF0b3I8UGxheWVyPiAoKSB7CgkJCQlAT3ZlcnJpZGUKCQkJCXB1YmxpYyBpbnQgY29tcGFyZShQbGF5ZXIgbzEsIFBsYXllciBvMikgewoJCQkJCWZpbmFsIGZsb2F0IGRpc3RhbmNlMSA9IG8xLmdldERpc3RhbmNlRnJvbSgpOwoJCQkJCWZpbmFsIGZsb2F0IGRpc3RhbmNlMiA9IG8yLmdldERpc3RhbmNlRnJvbSgpOwoJCQkJCXJldHVybiAoaW50KSBNYXRoLnNpZ251bSAoZGlzdGFuY2UxIC0gZGlzdGFuY2UyKTsKCQkJCX0JCQkKCQkJfSk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihwbGF5ZXJzKTsKCQl9Cgl9