Modern Java
While it’s something I’ve been intending to do for quite a while now, I’ve finally managed to actually start using the Guava Libraries. This is a superset project which includes the Google Collections libraries, which are a huge improvement over the traditional J2SE Collections API.
💡
This is a post from 2011. The Java world has changed a lot since then!
It allows for very quick construction of collections objects: e.g.
final List empty = Lists.newArrayList();
final List populated = Lists.newArrayList("a", "b", "c");
final Map<Integer,MyThing> myMap = ImmutableMap.of(1, object1, 2, object2, 3, object3);
How about functions on lists?
final List spamList = Lists.transform(customers,
new Function<Customer,EmailAddress>() {
public EmailAddress apply(final Customer customer) {
return customer.getEmail();
}
);
There is also a whole lot of other good stuff included, for I/O, Primitives utilities, String manipulation, Networking and concurrency.
Here is a link to some good resources.
Also, I just wanted to link to this article on JSR-310, which is the API that has arisen out of the very excellent Joda Date/Time library, which I endorse and use very heavily.