Java Stream mapToDouble Example

1. Introduction

In this quick tutorial, we will learn how to use the mapToDouble() method in the Java Stream API. mapToDouble() is used to convert objects within a stream into double values. This function is particularly useful for transforming streams where you need to perform numerical calculations on the elements.

Key Points

1. mapToDouble() converts each stream element to a double using the provided double-producing function.

2. It returns a DoubleStream, allowing for further operations specific to primitive double types, such as statistical operations.

3. Common uses include converting non-double values to doubles for mathematical computations.

2. Program Steps

1. Create a Stream of elements.

2. Apply mapToDouble() to transform these elements into doubles.

3. Perform operations on the resulting DoubleStream, such as summing or averaging the values.

3. Code Program

import java.util.stream.Stream;

public class StreamMapToDoubleExample {

    public static void main(String[] args) {
        // Stream of product prices as strings
        Stream<String> priceStrings = Stream.of("1.99", "2.99", "3.99");

        // Converting string prices to double values
        double total = priceStrings.mapToDouble(Double::parseDouble).sum();
        System.out.println("Total of all prices: " + total);
    }
}

Output:

Total of all prices: 8.97

Explanation:

1. Stream.of("1.99", "2.99", "3.99") creates a stream of strings representing prices.

2. priceStrings.mapToDouble(Double::parseDouble) converts each string in the stream to a double. It uses Double.parseDouble method reference to perform the conversion.

3. .sum() is called on the resulting DoubleStream to add up all the prices, showcasing the utility of mapToDouble() for converting and then performing calculations on stream elements.

Comments