2011-08-27 9 views
7

... al menos no "oficial".¿Por qué no hay implementación de WeakList y WeakSet en Java?

Puede buscar fácilmente en Google dos o tres ejemplos de implementación "WeakList" y para "WeakSet" uno muy bueno se puede encontrar en NetBeans Platform API fuentes.

Leo similar question colocado aquí solicitando WeakSet. Las respuestas fueron "no hay uso para WeakSet". Si será así, ¿por qué existen estas implementaciones no oficiales?

+0

Probablemente porque tales estructuras de datos son bastante especializadas, no es que no haya un caso de uso * a * (artificialmente existente) en algún lugar, sino que sea solo para un nicho * muy * específico que no justifique la inclusión en la biblioteca estándar. Incluirlo en la biblioteca base de Java también obligaría a todos los tiempos de ejecución de Java [certificados] a incluirlo, aumentando el tamaño (código de bytes) y el código (complejidad); no es "libre" hacer que una parte forme parte de las bibliotecas estándar. (Hay muchas más características "comunes" que me parecen faltantes: - /) –

Respuesta

8

Quizás pueda obtener uno usando Collections.newSetFromMap(new WeakHashMap()). Muchas colecciones no existen como clases públicas (si no son tan importantes), pero se pueden obtener mediante los métodos de fábrica Collections.

Cuestiones relacionadas