В TreeSet есть метод contains, который возвращает true, если элемент находится в наборе. Я предполагаю, что этот метод использует бинарный поиск и не перебирает все элементы в порядке возрастания. Я прав?
У меня есть TreeSet, содержащий объекты класса, который использует две переменные экземпляра String, чтобы отличать его от других объектов того же класса. Я хочу иметь возможность создать метод, который выполняет поиск в TreeSet, сравнивая объекты с двумя переменными экземпляра (конечно, используя методы get) с двумя другими строковыми переменными, и если они равны, возвращайте элемент. Если переменные экземпляра меньше, чем перейти к первому элементу в правом поддереве или если они больше, поиск в левом поддереве и т. д. Есть ли способ сделать это?
Я знаю, что могу просто хранить объекты в ArrayList и использовать бинарный поиск для поиска объекта, но это будет не так быстро, как простой поиск в TreeSet.
ArrayList
не такой быстрый? Ты пытался? - person Fred Foo   schedule 06.04.2011ArrayList
могут оказаться довольно быстрыми. - person Fred Foo   schedule 06.04.2011