DEV Community

realNameHidden
realNameHidden

Posted on • Edited on

5 1 1 1 1

What is the difference between forEach and map in streams?


forEach: A terminal operation that performs an action on each element of the stream but does not transform or return data.

map: An intermediate operation that transforms each element in the stream and returns a new stream of transformed elements.

Basic forEach with List

import java.util.Arrays;
import java.util.List;

public class ForEachExample {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("Alice", "Bob", "Charlie");

        // Print each name using forEach
        names.forEach(name -> System.out.println(name));
    }
}

Enter fullscreen mode Exit fullscreen mode

map example

List<String> names = Arrays.asList("Alice", "Bob");
names.stream().forEach(System.out::println); // Simply prints each name

List<Integer> nameLengths = names.stream()
                                 .map(String::length) // Transforms each name to its length
                                 .collect(Collectors.toList());

Enter fullscreen mode Exit fullscreen mode

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs