Pet*_*org 9 java collections weak-references
关于Java的WeakReference和Collections的几个问题:
是否有一个库透明地使用WeakReference实现Java的各种数据集接口(例如Collection,List,Set,Queue等)?像WeakHashMap一样用于HashMap接口?
或者是简单地创建普通集合然后使用compareTo或Comparator或某些东西来使搜索集合正常工作的常见解决方案?
我基本上想这样:
public interface WeakCollection<E> extends Collection<E> {}
Run Code Online (Sandbox Code Playgroud)
但是接口的合同是对E的引用存储很弱.显然,get(int index)当该对象已经消失等时返回null 没有问题,但我希望contains(E e)函数和其他类似的项能够正常工作.
我只是想避免"没有发明在这里"的陷阱,并确保如果我自己实现这个最简单的解决方案.
JBoss有一个WeakSet.在Java 6中,您也可以这样做
Set<T> s = Collections.newSetFromMap(new WeakHashMap<T, Boolean>());
Run Code Online (Sandbox Code Playgroud)
我还发现了一个WeakArrayList,它是LGPL,如果有帮助的话.
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |