In general, you should use those objects provided in the new Collections API (since 1.2). If you need a collection implementation to be threadsafe, use the java.util.Collections class. Collections consists exclusively of static methods that operate on or return collections. The methods that begin with "syncronized" will return you a threadsafe collection implementation (list, set, map, etc.).