Итак, почему в фреймворке java нет WeakSet?
Единственный действительно правильный ответ на этот вопрос заключается в том, что мы не можем сказать вам почему, потому что мы не являемсялюди, которые принимали дизайнерские решения.Только разработчики Java знают, почему они приняли решение 1 .
Хотя могут быть ограниченные варианты использования для WeakHashSet
, части JavaФилософия проектирования библиотек классов заключалась в том, чтобы избежать заполнения библиотек классов служебными классами для всех возможных вариантов использования.
Существует ряд других библиотек классов, которые включают типы коллекций;Коллекции Apache Commons и Google Collections (также известные как Guava) являются хорошими примерами.Тем не менее, WeakHashSet
даже не «сделал разрез» для библиотек Apache и Google.
И, конечно, вы можете использовать Collections.newSetFromMap
, чтобы обернуть экземпляр WeakHashMap
.
1 - Обсуждение правильности этого решения выходит за рамки StackOverflow.Это сайт вопросов и ответов, а не дискуссионный форум.