Извините, если мои вопросы немного смущают, это немного сложно сформулировать. Я хочу реализовать коллекцию (немного похоже на карту, но для отдельных значений, а не пар), которая выполняет хэш при поиске ее содержимого. Я пытаюсь сделать мои программы действительно эффективными. В настоящее время программа использует HashMap и дважды добавляет в нее первичный ключ из базы данных:
HashMap<Long, Long> userKeys = new HashMap<Long, Long>();
Some operations
userKeys.add(key, key);
Можно ли использовать хэш или карту, чтобы не добавлять ключ дважды? Поскольку это первичный ключ в базе данных, я знаю, что там не будет дубликатов, и поэтому я решил, что хеш-код эффективен.
Я подумал, что Vector может быть хорошим выбором, но когда я посмотрел на метод contains (), он просматривает каждую запись, которая в этом случае будет очень неэффективной.
Я также взглянул на HashSet, но, к сожалению, из того, что я видел, нет способа извлечения значений, чтобы их можно было использовать, в отличие от метода HashMaps.get (Object).
Желаемая настройка:
Collection<Long> userKeys = new Collection<Long>();
Some operations
userKeys.add(key);
Желаемые операции:
userKeys.contains(key)
<- здесь используется хеш </p>
userKeys.get(index)
Спасибо заранее,
Алексей Блю.