↑
Dev
Stack
Flow
Home
Languages
Java
Python
C++
JavaScript
View all languages →
DSA
DSA Problems
Jobs
About
Get Started →
Home
Languages
Java
Python
C++
JavaScript
View all languages →
DSA
DSA Problems
Jobs
About
Get Started →
Java Tutorial
✕
🔍
Expand All
Java Fundamentals
Java Roadmap
Java Introduction
What is Java?
History & Features
JDK vs JRE vs JVM
How Java Works
Install Java & Setup
First Java Program
Java vs Other Languages
Java Basics
Syntax & Structure
Java Keywords & Reserved Words
Naming Conventions
Data Types
Variables
Type Casting
Operators
Increment & Decrement Operators
Escape Sequences
Math Class
User Input (Scanner)
Wrapper Classes
Autoboxing & Unboxing
final Keyword
Comments
Control Flow
if Statement
if-else Statement
else-if Ladder
Nested if Statements
switch Statement
for Loop
for-each Loop
while Loop
do-while Loop
break Statement
continue Statement
Nested Loops
Arrays
Arrays Basics
Multi-dimensional Arrays
Array Methods (Arrays class)
Passing Arrays to Methods
Practice Questions
Strings
String Basics
String Methods
String Comparison
equals() vs ==
String Pool
Immutable Strings
StringBuilder
String Formatting
Practice Questions
Methods
Defining Methods
Parameters & Return Types
Method Overloading
Recursion
Variable Arguments (varargs)
Pass by Value vs Pass by Reference
Practice Questions
Object-Oriented Programming
Classes & Objects
Constructors
this Keyword
static Keyword
Encapsulation
Inheritance
super Keyword
Polymorphism
Method Overriding
Method Overloading vs Overriding
Abstraction
Abstract Classes
Interfaces
Abstract Class vs Interface
Object Class & toString()
Packages & Access Control
Packages in Java
Creating Custom Packages
import Statement
Access Modifiers Overview
public Modifier
private Modifier
protected Modifier
default (package-private)
Advanced OOP
Inner Classes
Anonymous Classes
Enums
Records (Java 16+)
Sealed Classes (Java 17+)
Annotations
Built-in Annotations
Custom Annotations
Reflection API
Design Patterns Overview
Collections Framework
Collections Overview
ArrayList
LinkedList
Stack
Queue
HashSet & LinkedHashSet
TreeSet
HashMap & LinkedHashMap
TreeMap
PriorityQueue
Deque & ArrayDeque
Iterator
ListIterator
Comparable
Comparator
Comparable vs Comparator
Collections Utility Class
Choosing the Right Collection
Practice Questions
Generics
Generics Basics
Generic Methods
Generic Classes
Bounded Type Parameters
Wildcards
Type Erasure
Modern Java (8–21)
Java 8 Key Features
Java 11 Features
Java 17 Features (LTS)
Java 21 Features (LTS)
var (Local Type Inference)
Text Blocks
Pattern Matching
Switch Expressions
Virtual Threads (Java 21)
Functional Programming in Java
Lambda Expressions
Functional Interfaces
Method References
Predicate
Function
Consumer
Supplier
Optional
Streams Basics
filter()
map()
forEach()
reduce()
collect()
sorted()
distinct()
limit() & skip()
Collectors & groupingBy
Parallel Streams
Stream vs Parallel Stream
Practice Questions
Exception Handling
Exception Hierarchy
try-catch
finally Block
try-with-resources
throw Keyword
throws Keyword
Difference Between throw and throws
Checked vs Unchecked
Custom Exceptions
Multi-catch
Exception Propagation
Practice Questions
File I/O
File & Path Basics
Reading Files
Writing Files
BufferedReader & Writer
NIO.2 (java.nio)
Serialization
Externalization
Serialization vs Externalization
Multithreading
Threads Basics
Runnable & Callable
Thread Lifecycle
Synchronization
volatile Keyword
Race Conditions
Deadlock
wait, notify & notifyAll
Executor Framework
CompletableFuture
Practice Questions
JVM & Memory
JVM Architecture
Stack Memory
Heap Memory
Stack vs Heap Memory
Garbage Collection
ClassLoader
JIT Compiler
Interview Preparation
Top Java Interview Q&A
Core Java Interview Questions
OOP Interview Questions
String Interview Questions
Array Interview Questions
Collections Interview Q&A
Multithreading Q&A
Exception Handling Q&A
Java 8+ Interview Q&A
FAANG Java Questions
Coding Challenges
Best Practices
Clean Code in Java
SOLID Principles
Effective Java Tips
Common Anti-Patterns
Code Review Checklist
Common Mistakes & Pitfalls
Beginner Mistakes
OOP Mistakes
Collections Mistakes
Streams Mistakes
Exception Handling Mistakes
Concurrency Mistakes
Performance Pitfalls
Memory Leaks
Topics
Java
›
Functional Programming in Java
›
Collectors & groupingBy
Collectors & groupingBy
Content not found for this topic.
←
Previous
limit() & skip()
Next
Parallel Streams
→
collectors | Java Tutorial | DevStackFlow