Сравнить значения со значениями из файла? - PullRequest
0 голосов
/ 22 мая 2011

Каков наилучший способ сделать это?
У меня есть приложение, которое получает два значения примерно каждые 10 секунд (когда пользователь касается экрана).Из этого я получаю два значения, широту и долготу сферного объекта, к которому прикоснулся пользователь.
Теперь я хотел бы сравнить thous-значения со значениями из файла, с реальной широтой и долготой местоположения, а затем сравнить thous-значенияи определить, насколько далеко был пользователь.

Мой файл будет создан с двумя значениями и одним ключом (местоположением) в каждом индексе.

Каков наилучший способ сделать это: прочитать весь файл с самого начала с помощью bufferedInputStreamReader и сохранить thoose в

HashMap<String, List<Float>>

или мне лучше использовать какую-то структуру базы данных, такую ​​как SqlLite?

Поскольку я делаю это на мобильной платформе, производительность очень важна, и именно поэтому я задаю этот вопрос.

1 Ответ

1 голос
/ 23 мая 2011

В зависимости от размера данных, с которыми нужно сравнивать, вы можете каждый раз искать базу данных (медленнее) или выполнять двоичный поиск в памяти (быстрее).

Если вы храните в HashMap (для метода in memory), вам нужно будет отсортировать и реализовать бинарный поиск по максимальной скорости. В противном случае вы будете выполнять линейный (итеративный) поиск по всей совокупности значений (что может быть приемлемо для вас).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...