Пара вопросов, касающихся слабых ссылок и коллекций Java:
Существует ли библиотека, которая реализует различные интерфейсы Java-наборов данных (например, Collection, List, Set, Queue и т. Д.) С прозрачностью WeakReference? Как WeakHashMap для интерфейса HashMap?
Или обычное решение - просто создать обычные коллекции и затем использовать какой-то прием с CompareTo или Comparator или что-то еще, чтобы поиск в коллекции работал правильно?
Мне, в принципе, хотелось бы этого:
public interface WeakCollection<E> extends Collection<E> {}
Но контракт на интерфейс заключается в том, что ссылки на E хранятся слабо. Очевидно, у меня нет проблем с get(int index)
, возвращающим ноль, когда этот объект исчез, и т.д., но я бы хотел, чтобы функция contains(E e)
и другие подобные ей элементы работали должным образом.
Я просто пытаюсь избежать ловушки "не изобретено здесь" и гарантирую, что, если я сам это реализую, это будет самое простое из возможных решений.