Лучшая эффективная структура данных для хранения объектов в приложении Android - PullRequest
1 голос
/ 10 сентября 2010

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

Не могли бы вы подсказать, какая структура наиболее эффективна среди следующих:

  • hashmap
  • SQL Lite
  • Хеш
  • другие

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 сентября 2010

Если это простое отношение ключ-> значение, то лучше всего использовать базу данных с хэш-таблицей или даже с базой данных nosql.Тем не менее, похоже, что вы храните ключ -> (значение, значение, значение, значение), в этом случае я бы использовал базу данных SQL, хотя это не реляционная.Ключ будет вашим первичным ключом, он не обязательно должен быть INTEGER, это может быть любой тип данных.Вы должны убедиться, что ваш ключевой столбец по крайней мере UNIQUE, хотя установка его в качестве первичного ключа сделает это автоматически, или вы можете столкнуться с проблемами.

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

0 голосов
/ 11 сентября 2010

Если данные не помещаются в памяти, наиболее распространенным подходом является использование SQLite.Конечно, есть и другие (более экзотические) решения, например, использование другой базы данных (например, H2 база данных ).

Если данные помещаются в память, используйте хэш-таблицу.java.util.Hashtable и java.util.HashMap в основном одинаковы, но HashMap немного быстрее (потому что он не синхронизирован).В этом случае вам все равно может потребоваться сохранение данных, что может быть медленным, если вы хотите сохранить / прочитать все за один шаг.

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