Лучшая эффективная структура данных для хранения объектов в приложении Android

1

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

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

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

Спасибо заранее.

  • 1
    Вы хотите сохранить данные?
  • 0
    Эти записи должны сохраняться, или они нужны только во время выполнения?
Показать ещё 2 комментария
Теги:
database

2 ответа

1
Лучший ответ

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

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

  • 0
    Благодарю. Это очень помогает.
  • 0
    @aladine, добро пожаловать.
0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню