This tutorial describes the Java Collections Framework. Here, you will learn what collections are and how they can make your job easier and programs better. You'll learn about the core elements — interfaces, implementations, aggregate operations, and algorithms — that comprise the Java Collections Framework.
The Java Collections Tutorial source code examples have been written using JDK 8 or later. Source code examples and practices described in this tutorial are well tested in our development environment.
YouTube Video - Java Collections Framework Course
What is a Collections Framework?
A collections framework is a unified architecture for representing and manipulating collections.
The collections framework consists of:
- Collection interfaces - These interfaces represent different types of collections, such as Set, List, and Map. These interfaces form the basis of the framework.
- General-purpose implementations - These are primary implementations of the collection interfaces such as ArrayList, LinkedList, HashSet, LinkedHashSet, HashMap etc.
- Legacy implementations - The collection classes from earlier releases, Vector and Hashtable, were retrofitted to implement the collection interfaces.
- Special-purpose implementations - Implementations designed for use in special situations such as CopyOnWriteArrayList, CopyOnWriteArraySet, EnumSet, EnumMap, WeakHashMap and IdentityHashMap etc.
- Concurrent implementations - These implementations designed for highly concurrent use such as ConcurrentSkipListSet, ConcurrentHashMap, ConcurrentSkipListMap etc.
- Wrapper implementations - Add functionality, such as synchronization, to other implementations.
- Convenience implementations - High-performance "mini-implementations" of the collection interfaces.
- Abstract implementations - Partial implementations of the collection interfaces to facilitate custom implementations such as AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList and AbstractMap.
- Algorithms - Static methods that perform useful functions on collections, such as sorting a list.
- Infrastructure - Interfaces that provide essential support for the collection interfaces.
- Array Utilities - Utility functions for arrays of primitive types and reference objects. Not, strictly speaking, a part of the collections framework, this feature was added to the Java platform at the same time as the collections framework and relies on some of the same infrastructures.
Get Start with Interfaces
- Collections Framework - The Collection Interface
- Collections Framework - The Set Interface
- Collections Framework - The SortedSet Interface
- Collections Framework - The List Interface
- Collections Framework - The Queue Interface
- Collections Framework - The Deque Interface
- Collections Framework - The Map Interface
- Collections Framework - The SortedMap Interface
List Implementations
General-Purpose List Implementations:
Special-Purpose List Implementations:
Set Implementations
General-Purpose Set Implementations:
Special-Purpose Set Implementations:
Map Implementations
General-purpose Map Implementations:
- Collections Framework - HashMap Class
- Collections Framework - LinkedHashMap Class
- Collections Framework - TreeMap class
Special-Purpose Map Implementations:
Sorting
Aggregate Operations(Streams)
Collections Helper/Utility Classes
- java.util.Collections Class API Guide(Development)
- 18 Useful Collections Utility Methods (Development)
- Java CollectionUtils Class(Development)
Convert Collections Examples
- Conversion Between Array and Set in Java
- Conversion Between Array and List in Java
- Java Convert Map to Set Example
- Java Convert Map to List Example
- Java Convert Map to Array Example
- Convert a Map to an Array, List, and Set in Java
- Java 8 Convert List to Map Example
- Java 8 - Merging Two Maps Example
- Java Convert Array to String [Snippet]
Collections Examples
- Java LinkedHashMap Example
- Java HashSet Example
- Java LinkedList Example
- Java ArrayList Example
- Java Comparator Interface Example
- Java Comparable Interface Example
- Java IdentityHashMap Example
- Java WeakHashMap Example
- Java EnumMap Example
- Java CopyOnWriteArraySet Example
- Java EnumSet Class Example
- Guide to Java 8 forEach Method
- Different Ways to Iterate over a List in Java [Snippet]
- Different Ways to Iterate over a Set in Java [Snippet]
- Different Ways to Iterate over a Map in Java [Snippet]
- Iterate over TreeSet in Java Example
- Iterate over LinkedHashSet in Java Example
- Remove First and Last Elements of LinkedList in Java
- Iterate over LinkedList using an Iterator in Java
- Search an Element in an ArrayList in Java
- Iterate over ArrayList using Iterator in Java
- Remove Element from HashSet in Java
- Iterating over a HashSet using Iterator
- How To Remove Duplicate Elements From ArrayList In Java?
- Different Ways to Iterate over List, Set, and Map in Java
Collections Differences
- Collections vs Streams in Java
- Difference between Array vs ArrayList in Java
- Difference between LinkedList vs ArrayList in Java
- Difference between List and Set in Java Collection
- Difference between Stack and Queue Data Structure in Java
- Difference between HashMap and HashSet in Java
- Difference between TreeSet, LinkedHashSet, and HashSet in Java with Example
- Difference between EnumMap and HashMap in Java
- Difference between HashMap and HashSet in Java
- Difference between ArrayList and Vector in Java
- Difference between HashMap, LinkedHashMap, and TreeMap in Java
- Difference between PriorityQueue and TreeSet in Java?
- What is the difference between Enumeration and Iterator in Java?
- What is the difference between HashMap and Hashtable in Java?
- Difference between fail-fast Iterator vs fail-safe Iterator in Java
YouTube Video Series - Java Collections Framework in Depth Series
- Java Collections Framework in Depth - 1 - Need for Collections Framework
- Java Collections Framework in Depth - 2 - Collections Framework Hierarchy
- Java Collections Framework in Depth - 3 - Collection Interface with Coding Example
- Java Collections Framework in Depth - 4 - List Interface with Coding Example
- Java Collections Framework in Depth - 5 - ArrayList Class Overview
- Java Collections Framework in Depth - 6 - Creating an ArrayList and Adding New Elements to It
- Java Collections Framework in Depth - 7 - Creating ArrayList from Another Collection
- Java Collections Framework in Depth - 8 - Accessing Elements from an ArrayList
- Java Collections Framework in Depth - 9 - Removing Elements from an ArrayList
- Java Collections Framework in Depth - 10 - Iterating Over an ArrayList (6 Ways)
- Java Collections Framework in Depth - 11 - ListIterator Interface with Coding Example
- Java Collections Framework in Depth - 12 - CopyOnWriteArrayList Class with Coding Example
- Java Collections Framework in Depth - 13 - LinkedList Overview | ArrayList vs LinkedList
- Java Collections Framework in Depth - 14 - Create LinkedList Example | add(), addFirst and addLast()
- Java Collections Framework in Depth - 15 - Retrieving Elements from a LinkedList
- Java Collections Framework in Depth - 16 - Removing Elements from a LinkedList
- Java Collections Framework in Depth - 18 - HashSet Class Overview | Key Points to Note
The complete YouTube playlist at https://youtube.com/playlist?list=PLGRDMO4rOGcNpAJPtuuCOPXvI39Elxa-c
Best Practices and Interviews
- Java Collection Framework Best Practice (Best Practice)
- Difference between Array vs ArrayList in Java (interview)
- How the Size of the ArrayList Increases Dynamically? (interview)
- How To Remove Duplicate Elements From ArrayList In Java? (interview)
References
Free Spring Boot Tutorial | Full In-depth Course | Learn Spring Boot in 10 Hours
Watch this course on YouTube at Spring Boot Tutorial | Fee 10 Hours Full Course