Я обрабатываю большое количество записей базы данных, каждая с уникальным ключом.
Из-за природы моей базы данных мой метод обработки может встретиться с одним и тем же ключом дважды, поскольку это реляционная база данных иодна запись может иметь более одной «родительской» записи.
Многократная обработка записей - пустая трата времени, вычислительной мощности, памяти и размера файла.Таким образом, мне нужен способ вести учет того, какие идентификаторы я уже обработал.
Я посмотрел на HashTable, так как это O (1) для функций get и put, и это единственные функции, которые мне нужны.Тем не менее, кажется, что трата памяти, по существу, состоит из (1000+) / блока нагрузки и фактора, в котором хранятся логические значения.Кроме того, я не знаю желаемой емкости и мне пришлось бы мириться с большим количеством перефразировок или выделять намного больше памяти, чем мне нужно.
Я думаю, что ищу структуру данных, в которую можно добавить значениечтобы он выдавал какую-то ошибку, если идентификатор уже существует в коллекции, например, возвращает false из метода put(T value)
.