The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Dev.java for updated tutorials taking advantage of the latest releases.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
Implementations are the data objects used to store collections, which implement the interfaces described in the Interfaces lesson.
The Java Collections Framework provides several general-purpose implementations of the core interfaces:
Set interface, HashSet is the most commonly used implementation.List interface, ArrayList is the most commonly used implementation.Map interface, HashMap is the most commonly used implementation.Queue interface, LinkedList is the most commonly used implementation.Deque interface, ArrayDeque is the most commonly used implementation.Each of the general-purpose implementations provides all optional operations contained in its interface.
The Java Collections Framework also provides several special-purpose implementations for situations that require nonstandard performance, usage restrictions, or other unusual behavior.
The java.util.concurrent package contains several collections implementations, which are thread-safe but not governed by a single exclusion lock.
The Collections class (as opposed to the Collection interface), provides static methods that operate on or return collections, which are known as Wrapper implementations.
Finally, there are several Convenience implementations, which can be more efficient than general-purpose implementations when you don't need their full power. The Convenience implementations are made available through static factory methods.