У меня есть программа, которая собирает объекты с течением времени.Эти объекты часто являются, но не всегда, дубликатами объектов, которые программа уже получила.Количество уникальных объектов иногда может достигать десятков тысяч.Поскольку мои списки растут, требуется больше времени, чтобы определить, появился ли объект раньше или нет.
Мой текущий метод заключается в том, чтобы хранить все в ArrayList, al;используйте Collections.sort (al);и используйте Collections.binarySearch (al, key), чтобы определить, использовал ли я объект.Однако каждый раз, когда я сталкиваюсь с новым объектом, я должен вставить и отсортировать.
Мне интересно, есть ли лучший способ сделать это.Содержит, как правило, замедляется слишком быстро.Я ищу что-то максимально близкое к O (1).
Большое спасибо.
Это Java.Для понимания того, о чем я говорю, мне в основном нужен метод, который делает это:
public boolean objectAlreadyUsed(Object o) {
return \\ Have we seen this object already?
}