« All Java trainings

Java Streams Basics – Practical Foundations for Beginners

Duration: 1 day
Format: virtual or on-site

Overview

In this one-day course, you'll learn the fundamentals of the Java Streams API – with clear explanations, practical examples, and lots of hands-on exercises.

You'll discover how Streams differ from traditional Collections – and why they’re such a powerful tool for modern data processing in Java.

Through practical scenarios, we'll explore the structure of a stream pipeline – from the data source, through intermediate operations like map(), filter(), and flatMap(), to final processing with collect() and other terminal operations.

A special focus is placed on understanding the underlying concepts: What happens when? What actually gets executed – and what doesn't? What exactly does Lazy Evaluation mean? And where are the typical pitfalls?

By the end of the day, you’ll be able to confidently use streams, express complex data operations elegantly, and apply functional programming effectively in your projects.

Request in-house training »

👉 Already familiar with streams and ready to go deeper? Check out Java Streams Advanced – Gatherers, Spliterators & More.

👉 Want to cover the full range of the Stream API in one go? Then the combined course Java Streams Basics + Advanced is ideal for you.

Target Audience

This course is designed for Java developers who want to systematically learn streams and functional programming from the ground up.

Whether you’ve avoided streams, only scratched the surface, or want to refresh your knowledge – this course will help you build a solid foundation for productive use in real-world projects.

If you’ve preferred traditional loops because streams seemed too abstract: after this course, you’ll know when and how to use them effectively.

Course Details

Duration: 1 day
Date by arrangement
Exclusively for your team
Delivered on-site or online
Customizable content
Language: English or German
Certificate of completion included

Pricing

On-site:  € 2.490,–
plus trainer travel expenses
Virtual:  € 2.050,–
Prices exclude VAT and any customization fees.

Agenda

The course alternates between short theory segments, hands-on code examples, and interactive exercises – so you learn the fundamentals of the Stream API in a well-structured and practical way.

Functional Programming in Java:
  • Lambda expressions: syntax, types, and usage
  • Functional interfaces (Consumer, Supplier, Function, Predicate, etc.)
  • Method references: static, instance, constructor references
  • Hands-on exercises: Lambda expressions vs. anonymous classes
Stream Basics:
  • What is a stream? Conceptual differences from collections
  • Anatomy of a stream pipeline: Source → Intermediate Operations → Terminal Operations
  • Lazy evaluation and its implications
  • Creating streams: from collections, arrays, files, ranges
  • Primitive streams: IntStream, LongStream, DoubleStream
  • Hands-on exercises: First stream pipelines with primitive streams
Intermediate Operations Deep Dive:
  • Transformations with map(), flatMap(), filter()
  • Selection and sorting: distinct(), sorted(), limit(), skip()
  • Debugging with peek() – used correctly
  • Chaining operations and performance aspects
  • Hands-on exercises: More complex data processing
Terminal Operations:
  • collect() – the most versatile terminal operator
  • Built-in collectors: toList(), toSet(), toMap()
  • forEach(), forEachOrdered()
  • reduce() for aggregations
  • Finding operations: findFirst(), findAny()
  • Matching operations: allMatch(), anyMatch(), noneMatch()
  • Hands-on exercises: Terminal operations with standard collectors

Request In-House Training

Inquiry Training Specific Course (#31)

Your Trainer: Sven Woltmann

Sven Woltmann

I’m a Java expert with over 20 years of experience – as a developer, architect, CTO, performance coach, and trainer.

I’ve designed enterprise-scale systems for companies like 1&1, IONOS, and ICE Services, modernized legacy apps, and helped teams build robust, maintainable, and high-performance Java software.

With HappyCoders.eu, I’ve built one of the most widely read Java blogs in the German-speaking world. I speak at conferences and Java User Groups – and often receive praise for making complex technical topics easy to understand.

What you’ll get from my courses:

  • Extensive experience: Deep Java knowledge with real-world expertise
  • Practical focus: Plenty of hands-on exercises drawn from actual project work
  • Knowledge sharing: Space for your questions, discussions, and real-life challenges
  • Tailored to your team: Content can be flexibly adapted to your goals

I don’t just teach features – I show you how to develop better software with a deep understanding of Java.

More about me »

Format & Requirements

Related Trainings