[infinispan-dev] Avoid Collections.emptySet() / emptyMap() / emptyList
Galder Zamarreño
galder at redhat.com
Fri Oct 19 08:31:42 EDT 2012
Hi all,
Re: https://github.com/galderz/infinispan/commit/0609207d13216de81d77ff51dc20652ce270c635
Please avoid using these JDK methods where possible. I've created alternative versions in InfinispanCollections util class that provide a better implementation.
The problem with the JDK versions is that even if these collections are immutable, if you wanna iterate them (i.e. for(X : emptySet) ), they'll create a brand new Iterator every time they're looped, and that generates useless garbage.
The InfinispanCollections versions of emptyX will return a constant singleton iterator which avoids this problem, and avoids the need for client code to check if the collection is empty before looping.
Cheers,
--
Galder Zamarreño
galder at redhat.com
twitter.com/galderz
Project Lead, Escalante
http://escalante.io
Engineer, Infinispan
http://infinispan.org
More information about the infinispan-dev
mailing list