关于 Java 的 WeakReference 和 Collections 的几个问题:
是否有一个库可以通过 WeakReference 透明地实现 Java 的各种数据集接口(例如 Collection、List、Set、Queue 等)?像 WeakHashMap 是针对 HashMap 接口的吗?
或者是简单地创建普通集合然后使用某种技巧与 compareTo 或 Comparator 或其他东西来使搜索集合正常工作的常见解决方案?
我基本上是这样的:
public interface WeakCollection<E> extends Collection<E> {}
但是接口的约定是对 E 的引用是弱存储的。get(int index)
显然,当该对象消失等时返回 null没有问题,但我希望该contains(E e)
函数和其他类似的项目能够正常工作。
我只是想避免“不是在这里发明”的陷阱,并确保如果我自己实现它,它可能是最简单的解决方案。