9
在集合弱引用的對象有幾個關於Java的WeakReference的問題,並類別:發現在Java
是否有一個圖書館,在那裏,實現了Java的各種數據集接口(如集合,列表,設置,隊列等)與WeakReference透明地?像WeakHashMap是用於HashMap接口的?
或者是通常的解決方案,只需創建普通的集合,然後使用compareTo或比較器或類似的技巧來使搜索集合正常工作?
我基本上會是這樣的:
public interface WeakCollection<E> extends Collection<E> {}
但對於接口的合同是到E引用是弱存儲。顯然我沒有get(int index)
當這個對象已經消失等返回null的問題,但我想contains(E e)
功能和其他項目,像它能正常工作。
我只是想避免「這裏沒有發明」的陷阱,並確保如果我自己實現這個最簡單的解決方案。
谷歌集合也許?他們的地圖構建器是相當不錯的我聽到 – akarnokd 2009-06-22 13:58:56
一個巧妙的技巧(只適用於某個時間)是在指涉對象本身中包含一個規範的WeakReference - 只需要爲每個目標創建一個引用並等於/ ==工作。 – 2009-06-22 20:47:19