Un par de preguntas con respecto a WeakReference de Java y Colecciones:la búsqueda de objetos de referencia débiles en las colecciones en Java
¿Hay una biblioteca por ahí que implementa varias interfaces de conjuntos de datos de Java (por ejemplo Collection, List, Set Cola, etc.) con WeakReference de forma transparente? ¿Como WeakHashMap es para la interfaz HashMap?
¿O es la solución común simplemente crear Colecciones normales y luego usar algún tipo de truco con compareTo o un Comparador o algo para hacer que la búsqueda de la colección funcione correctamente?
Básicamente lo desea:
public interface WeakCollection<E> extends Collection<E> {}
Sin embargo, el contrato para la interfaz es que las referencias a E se almacenan débilmente. Obviamente no tengo un problema con get(int index)
volver nula cuando ese objeto se ha ido etc, pero me gustaría que la función contains(E e)
y otros artículos como que funcione correctamente.
sólo estoy tratando de evitar la trampa "no inventado aquí" y asegurando que si hago implementar esto mismo que su la solución más sencilla posible.
Google Colecciones quizás? Su constructor de mapa es bastante bueno escucho – akarnokd
Un buen truco (sólo en algún caso) está para incluir una WeakReference canónica en el propio objeto de referencia - Sólo es necesario crear siempre una referencia al objetivo y es igual a/== trabajo. –