2011-08-27 10 views
7

... en azından "resmi" değil.Java'da neden WeakList ve WeakSet uygulaması yok?

Kolayca google iki veya üç "WeakList" örnek uygulama ve "WeakSet" için çok iyi bir NetBeans Platform API kaynakları bulunabilir.

Burada similar question dosyasını okudum, burada WeakSet için soruyorum. Cevaplar "WeakSet için hiçbir kullanıcı grubu yok" idi. Böyle olmayacaksa, bu gayri resmi uygulamalar neden var?

+0

Muhtemelen bu tür veri yapıları oldukça uzmanlaşmış olduğu için - sadece bir * (var olan-var olan-bir yerde) kullanım durumu değil, sadece içine girmeyi gerektirmeyen çok * belirli bir niş için olduğu kadar standart kütüphane. Temel Java kütüphanesine dahil olmak, tüm [sertifikalı] Java çalışma zamanlarını da içerecek şekilde zorlayacak, boyutu (bytecode) ve kodu (karmaşıklığı) artıracak - standart kitaplıkların bir kısmını yapmak için "serbest" değil. (Eksik bulduğum çok daha fazla "ortak" özellik var: - /) –

cevap

8

Belki de Collections.newSetFromMap(new WeakHashMap())'u kullanarak bir tane alabilirsiniz. Birçok koleksiyon kamu sınıfları olarak mevcut değildir (eğer çok önemli değilse), ancak Collections fabrika yöntemleri ile elde edilebilir.