Java DoubleConsumer

Introduction

In Java, the DoubleConsumer interface is a functional interface that represents an operation that accepts a single double-valued argument and returns no result. It is part of the java.util.function package and is commonly used for operations that process double values, like logging or modifying data.

Table of Contents

  1. What is DoubleConsumer?
  2. Methods and Syntax
  3. Examples of DoubleConsumer
  4. Real-World Use Case
  5. Conclusion

1. What is DoubleConsumer?

DoubleConsumer is a functional interface that performs an operation on a single double input. It is often used in lambda expressions and method references for handling double values.

2. Methods and Syntax

The main method in the DoubleConsumer interface is:

  • void accept(double value): Performs this operation on the given double argument.

Syntax

DoubleConsumer doubleConsumer = (double value) -> {
    // operation on value
};

3. Examples of DoubleConsumer

Example 1: Printing a Double Value

import java.util.function.DoubleConsumer;

public class PrintDoubleExample {
    public static void main(String[] args) {
        // Define a DoubleConsumer that prints a double value
        DoubleConsumer print = (value) -> System.out.println("Value: " + value);

        print.accept(10.5);
    }
}

Output:

Value: 10.5

Example 2: Multiplying and Displaying

import java.util.function.DoubleConsumer;

public class MultiplyExample {
    public static void main(String[] args) {
        // Define a DoubleConsumer that multiplies a double by 2 and prints the result
        DoubleConsumer multiplyAndPrint = (value) -> System.out.println("Multiplied Value: " + (value * 2));

        multiplyAndPrint.accept(3.5);
    }
}

Output:

Multiplied Value: 7.0

4. Real-World Use Case: Processing Sensor Data

In data processing applications, DoubleConsumer can be used to handle real-time sensor data, such as temperature readings.

import java.util.function.DoubleConsumer;

public class SensorDataProcessor {
    public static void main(String[] args) {
        // Define a DoubleConsumer to process temperature readings
        DoubleConsumer processTemperature = (temperature) -> {
            if (temperature > 30.0) {
                System.out.println("High temperature alert: " + temperature);
            } else {
                System.out.println("Temperature is normal: " + temperature);
            }
        };

        processTemperature.accept(32.5);
        processTemperature.accept(28.0);
    }
}

Output:

High temperature alert: 32.5
Temperature is normal: 28.0

Conclusion

The DoubleConsumer interface is a versatile tool in Java for performing operations on double values without returning a result. It simplifies handling tasks like logging, modifying data, or processing real-time information. Using DoubleConsumer can lead to cleaner and more efficient code, especially in functional programming contexts.

Comments