本文介绍了为什么存在WeakHashMap,却没有WeakSet?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

来自 J.布洛赫

... 内存泄漏的来源是听众... 最好的方法来确保回调被垃圾收集及时是只存储弱对它们的引用,例如,通过仅将它们作为键存储在WeakHashMap.

那么,为什么 Java Collections 框架中没有 WeakSet?

So, why there isn't any WeakSet in the Java Collections framework?

推荐答案

Collections.newSetFromMap

Set<Object> weakHashSet =
    Collections.newSetFromMap(
        new WeakHashMap<Object, Boolean>()
    );

Collections.newSetFromMap 文档,传递一个 WeakHashMap 获取 Set.

这篇关于为什么存在WeakHashMap,却没有WeakSet?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-16 14:34