gpt4 book ai didi

java - 在 Java 中查找集合中的弱引用对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:22:06 31 4
gpt4 key购买 nike

关于 Java 的 WeakReference 和 Collections 的几个问题:

  1. 是否有一个库可以透明地使用 Wea​​kReference 实现 Java 的各种数据集接口(interface)(例如 Collection、List、Set、Queue 等)?比如 WeakHashMap 是针对 HashMap 接口(interface)的?

  2. 或者是简单地创建普通集合然后使用某种技巧与 compareTo 或比较器或其他东西一起使搜索集合正常工作的常见解决方案?

我基本上是这样的:

public interface WeakCollection<E> extends Collection<E> {}

但是接口(interface)的契约是对 E 的引用是弱存储的。显然我对 get(int index) 在该对象消失等时返回 null 没有问题,但我想要 contains(E e) 函数和其他像它这样的项目才能正常工作。

我只是想避免“不是这里发明的”陷阱,并确保如果我自己实现它,它是最简单的解决方案。

最佳答案

JBoss 有一个 WeakSet .在 Java 6 中,you can also do

Set<T> s = Collections.newSetFromMap(new WeakHashMap<T, Boolean>());

我还发现了一个 WeakArrayList如果有帮助,那就是 LGPL。

关于java - 在 Java 中查找集合中的弱引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1027343/

31 4 0
文章推荐: java - 使用 Google Collections 创建弱多图
文章推荐: java - 在 XStream 中有更好的方法来编码/解码 JSON 和 Java 中的 List