Module 11: Collections Framework in Practice
Lists in Practice: ArrayList vs LinkedList
Compare ArrayList and LinkedList and learn which one fits most real projects.
Author
Java Learner Editorial Team
Reviewer
Technical review by Java Learner
Last reviewed
2026-04-17
Java version
Java 25 LTS
Learning goals
- Know why `ArrayList` is the default in most code
- Understand the narrower use case for `LinkedList`
- Match list choice to actual access patterns
ArrayList is usually the default: It offers fast indexed access and strong real-world performance for many app use cases.
LinkedList has a narrower sweet spot: It can work well when you frequently add and remove near the ends, but it is poor at random access.
Do not choose based on theory alone: Your actual read/write pattern matters more than memorizing one complexity rule.
Intermediate habit: Start with ArrayList unless you have a concrete reason not to.
Runnable examples
ArrayList is a strong default list
java.util.List<String> names = new java.util.ArrayList<>();
names.add("Ada");
names.add("Grace");
System.out.println(names.get(1));Expected output
Grace
Mini exercise
Describe one situation where indexed reads make `ArrayList` the better fit.
Summary
- `ArrayList` is the default list for most work.
- `LinkedList` is specialized, not a general upgrade.
- Choose based on your real access pattern.
Next step
Next, use sets when uniqueness is the real requirement.
Sources used