Skip to content

Blog by Rahul Mittal

Connecting People, Ideas & Technology.

  • java
  • JavaEvolutionSeries
  • programming

Part 8: Mastering Collectors.groupingBy() – Building Enterprise Reports and Dashboards

  • Rahul Mittal
  • July 4, 2026
  • 7 min read

Introduction In the previous article, we learned that Collectors provide the aggregation engine for the Stream API. We explored how they accumulate Stream elements into collections, maps, and other complex…

  • java
  • JavaEvolutionSeries
  • programming

Part 7: Understanding Collectors – The Backbone of Stream Aggregation

  • Rahul Mittal
  • July 4, 2026
  • 7 min read

Introduction So far in this series, we've learned how to: Build Stream pipelines. Filter data. Transform objects. Flatten nested collections. Sort results. Execute pipelines using terminal operations. These capabilities are…

  • java
  • JavaEvolutionSeries
  • programming

Part 6: Stream Terminal Operations – Mastering collect(), reduce(), count(), findFirst(), findAny(), min(), max(), anyMatch(), allMatch(), noneMatch(), and toList()

  • Rahul Mittal
  • July 4, 2026
  • 7 min read

Introduction In the previous article, we explored intermediate operations such as filter(), map(), flatMap(), distinct(), sorted(), limit(), and skip(). We learned that these operations are lazy—they define a processing pipeline…

  • java
  • JavaEvolutionSeries
  • programming

Part 5: Stream Intermediate Operations – Mastering filter(), map(), flatMap(), distinct(), sorted(), limit(), and skip()

  • Rahul Mittal
  • July 4, 2026
  • 7 min read

Introduction In the previous article, we learned that a Stream is not a data structure but a processing pipeline that transforms data through a series of operations. We explored concepts…

  • java
  • JavaEvolutionSeries
  • programming

Part 4: Stream API – Processing Collections the Modern Java Way

  • Rahul Mittal
  • July 4, 2026
  • 11 min read

Introduction One of the biggest criticisms of Java before version 8 was the amount of boilerplate code required to process collections. Simple tasks such as filtering employees, sorting records, transforming…

  • general

Part 3: Method References – Writing Cleaner, More Expressive Java Code

  • Rahul Mittal
  • July 4, 2026
  • 8 min read

Introduction In the previous two articles, we explored Lambda Expressions and Functional Interfaces, the building blocks of functional programming in Java. Although Lambdas significantly reduced boilerplate code, developers quickly noticed…

  • java
  • JavaEvolutionSeries

Part 3: Method References – Writing Cleaner, More Expressive Java Code

  • Rahul Mittal
  • July 4, 2026
  • 8 min read

Introduction In the previous two articles, we explored Lambda Expressions and Functional Interfaces, the building blocks of functional programming in Java. Although Lambdas significantly reduced boilerplate code, developers quickly noticed…

  • java
  • JavaEvolutionSeries
  • programming

Part 2: Functional Interfaces – The Foundation of Lambda Expressions

  • Rahul Mittal
  • July 4, 2026
  • 8 min read

Introduction In the previous article, we learned how Lambda Expressions dramatically simplified Java code by allowing us to pass behavior instead of creating verbose anonymous classes. However, there is an…

  • general

Part 1: Lambda Expressions – The Beginning of Functional Java

  • Rahul Mittal
  • July 4, 2026
  • 7 min read

Introduction Java 8 introduced one of the most revolutionary features in the history of the language: Lambda Expressions. Before Java 8, Java was considered a purely object-oriented programming language. Every…

  • JavaEvolutionSeries

Part 0: Why Java 8 Changed Everything

  • Rahul Mittal
  • July 4, 2026
  • 7 min read

Understanding the Evolution of Modern Java "A programming language evolves not because developers want new syntax, but because software engineering continuously faces new challenges." For nearly two decades, Java has…

Posts pagination

Previous 1 … 6 7 8 … 17 Next

Recent Posts

  • Codex, MCP, and Spring AI: Building Tool-Enabled Java Applications with the Latest OpenAI Models
  • Kubernetes Readiness Probes in Spring Boot Microservices: Designing a Production-Ready Health Check
  • How Does UPI Prevent Double-Spending at 15 Billion Transactions a Month?
  • Top 10 Java, Microservices & Kubernetes Interview Questions Every Senior Tech Lead Should Know
  • Part 9 – Why Spring Boot Applications Get OOMKilled in Kubernetes

Categories

  • AI
  • Database
  • feature
  • general
  • interview
  • java
  • JavaEvolutionSeries
  • K8S
  • leadership
  • Metrics
  • microservices
  • Observability
  • programming
  • project management
  • ramittal.com
  • security
  • spring

Recent Comments

  1. Rahul Mittal on Why Refreshing L1 Cache Using a Scheduler is a Bad Idea

Archives

  • September 2026
  • August 2026
  • July 2026
  • June 2026
  • May 2026
  • March 2026
  • March 2025
  • January 2025
  • December 2024

List Posts

View All
  • java
  • JavaEvolutionSeries
  • programming

Part 42: The Java 8 → Java 21 Journey – Building Modern Enterprise Microservices and Looking Ahead to Java 26

  • Rahul Mittal
  • July 4, 2026
  • 6 min read
  • 0
  • java
  • JavaEvolutionSeries
  • programming

Part 37: Java 21 – Virtual Threads – Revolutionizing Spring Boot Microservices and Enterprise Banking Applications

  • Rahul Mittal
  • July 4, 2026
  • 8 min read
  • 0
  • java
  • JavaEvolutionSeries
  • programming

Part 41: Java 21 – Vector API – Unlocking Modern CPU Performance for Banking, AI and Analytics

  • Rahul Mittal
  • July 4, 2026
  • 6 min read
  • 0
  • java
  • JavaEvolutionSeries
  • programming

Part 40: Java 21 – Foreign Function & Memory API (Project Panama) – The Future of Native Integration for Enterprise Applications

  • Rahul Mittal
  • July 4, 2026
  • 7 min read
  • 0
Copyright © 2026 Blog by Rahul Mittal Theme: Crystal Blog By Adore Themes.