Por que o Collections.binarySearch () não está trabalhando com isso?

eu tenho istoPlayer classe que implementa oComparable interface. Então eu tenho umArrayList doPlayers. Estou tentando usarbinarySearch() na lista dePlayers para encontrar umPlayer, mas Java está me dando um "cannot find symbol: method binarySearch(java.util.ArrayList< Player>,Player)".

Esta é a classe do jogador:

class Player implements Comparable {

    private String username;
    private String password;
    Statistics stats;

    //Constructor, creates a new Player with a supplied username
    Player(String name) {
        username = name;
        password = "";
        stats = new Statistics();
    }

    //Accessor method to return the username as a String
    String getName() {
        return username;
    }

    String getPassword() {
        return password;
    }

    void setPassword(String newPass) {
        password = newPass;
    }

    //Method to change the username
    void setName(String newName) {
        username = newName;
    }

    public int compareTo(Object o) {
        return username.compareTo(((Player)o).username);
    }
}

Coisa estranha, quando eu tento Collections.sort () na mesma lista, funciona.

questionAnswers(2)

yourAnswerToTheQuestion