Двоичный поиск по курсору с отсортированными данными

#android #sqlite #cursor #android-cursoradapter

#Android #sqlite #курсор #android-cursoradapter

Вопрос:

У меня есть курсор, отсортировавший огромные данные. Теперь я хочу выполнить двоичный поиск по курсору. Но вызов moveToPosition(int position) метода занимает много времени, что добавляет огромное время для двоичного поиска. Я хочу выполнять двоичный поиск несколько раз, поэтому вместо того, чтобы запрашивать каждый раз в sqlite базе данных, нужно запрашивать один раз и выполнять двоичный поиск каждый раз. Как я могу выполнить быстрый двоичный поиск по отсортированному курсору данных?

Комментарии:

1. Не похоже, что доступно больше опций, поэтому вместо того, чтобы делать это с помощью курсора, попробуйте скопировать свои данные в список и выполнить поиск там.

2. Но копирование данных в список займет много памяти.

3. Это не то, для чего предназначены курсоры. Почему вы не выполняете поиск в базе данных?

4. Я ищу диапазон списка строк каждый раз, когда пользователь вводит текстовое поле. Если я буду искать каждый раз в базе данных, это замедлит поиск. Поэтому я хочу выполнять запрос один раз, выполняя двоичный поиск каждый раз.

5. вы должны отпустить один из них. выберите время или пространство. если вы помните, пространство и время обратно пропорциональны. если хотите сэкономить время, используйте список. если пробел, попробуйте каждый раз запрашивать базу данных. почему бы вам не создать адаптер курсора и не добавить фильтр в свой адаптер. хотя это может быть вашим ответом.