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 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.