Un de mes favoris des collections Apache Commons-Collections était le lazymap qui utiliserait un transformateur pour instancier des valeurs à la volée lors du fait de Pourquoi les collections Google ne sont-elles pas identiques? P> map.get (Newkey); // ne retournera pas NULL! Code>. p>
3 Réponses :
Ça s'appelle génial. p>
Notez que la carte mapper est une usine - vous pouvez en faire un, définir tous les types de référence d'objet, les propriétés d'expansion (et même l'heure d'expiration de l'objet!), puis vous proposer de créer beaucoup de cartes de calcul (ou d'autres types ) avec une ligne d'appels. em> p>
par exemple. Comme à peu près tout le reste de la bibliothèque de Google-Collections, c'est vraiment bon - une fois que vous avez compris où "c'est" est em> p> Nouveau MapMaker (). MakecomputingMap (fonction Super K ,? Extend V> Ordinateur) Code> P>
Pour quiconque atterrit ici, cela a été obsolète et maintenant nous détestons d'utiliser des chaches. code.google.com/p/guava-libries/wiki/mapmakermigration
Depuis 10.0, Guava a une nouvelle classe cachebuilder a> à la place, et c'est compatible GWT. P>
Différence principale que Cachebuilder créera une cache au lieu d'une carte. Un alternativement MapBuilder produira une concurrence et certaines des méthodes seront obsolètes de manière ...
Je suggère d'écrire votre propre