Реализовать бинарный поиск в объектах
Есть ли способ реализовать бинарный поиск в ArrayList с объектами? В этом примере ArrayList будет отсортирован с полем 'id'.
class User{
public int id;
public string name;
}
ArrayList<User> users = new ArrayList<User>();
sortById(users);
int id = 66
User searchuser = getUserById(users,id);
Как бы выглядел пользовательский getUserById (ArrayList users, int userid), если бы он возвращал пользователя с указанным идентификатором с помощью бинарного поиска? Это вообще возможно?