为什么Java中没有WeakList和WeakSet实现?

为什么Java中没有WeakList和WeakSet实现?,java,collections,weak-references,Java,Collections,Weak References,。。。至少不是“官方的” 您可以轻松地在谷歌上搜索两到三个“WeakList”示例实现,对于“WeakSet”,可以在源代码中找到一个非常好的示例实现 我在这里读到了一篇文章,要求提供WeakSet。答案是“WeakSet没有任何用处”。如果是这样的话,为什么会存在这些非官方的实现呢?也许您可以使用Collections.newSetFromMap(new WeakHashMap())获得一个。许多集合不是作为公共类存在的(如果它们不是那么重要的话),但是可以通过集合工厂方法来获取。可能是因为这

。。。至少不是“官方的”

您可以轻松地在谷歌上搜索两到三个“WeakList”示例实现,对于“WeakSet”,可以在源代码中找到一个非常好的示例实现


我在这里读到了一篇文章,要求提供WeakSet。答案是“WeakSet没有任何用处”。如果是这样的话,为什么会存在这些非官方的实现呢?

也许您可以使用
Collections.newSetFromMap(new WeakHashMap())
获得一个。许多集合不是作为公共类存在的(如果它们不是那么重要的话),但是可以通过
集合
工厂方法来获取。

可能是因为这些数据结构非常专业化,而不是说没有(人为存在的某个地方)用例如此之多,以至于它只针对一个非常特定的利基,不保证包含在标准库中。将其包含在基础Java库中也会迫使所有[认证]Java运行时都包含它,从而增加大小(字节码)和代码(复杂性)——将某些内容作为标准库的一部分并非“免费”的。(我发现还有很多“通用”功能缺失:-/)