Introduction
In Java, the IntUnaryOperator
interface is a functional interface that represents an operation on a single int
-valued operand, producing an int
result. It is part of the java.util.function
package and is commonly used for operations that transform int
values.
Table of Contents
- What is
IntUnaryOperator
? - Methods and Syntax
- Examples of
IntUnaryOperator
- Real-World Use Case
- Conclusion
1. What is IntUnaryOperator?
IntUnaryOperator
is a functional interface that takes a single int
as input and returns an int
as a result. It is useful for scenarios where mathematical operations or transformations are applied to int
values.
2. Methods and Syntax
The main methods in the IntUnaryOperator
interface are:
int applyAsInt(int operand)
: Applies this operator to the given operand and returns anint
result.default IntUnaryOperator andThen(IntUnaryOperator after)
: Returns a composed operator that first applies this operator to its input, and then applies theafter
operator to the result.default IntUnaryOperator compose(IntUnaryOperator before)
: Returns a composed operator that first applies thebefore
operator to its input, and then applies this operator to the result.
Syntax
IntUnaryOperator operator = (int operand) -> {
// operation on operand
return result;
};
3. Examples of IntUnaryOperator
Example 1: Doubling a Value
import java.util.function.IntUnaryOperator;
public class DoublingExample {
public static void main(String[] args) {
// Define an IntUnaryOperator that doubles the value
IntUnaryOperator doubleValue = (operand) -> operand * 2;
int result = doubleValue.applyAsInt(5);
System.out.println("Doubled Value: " + result);
}
}
Output:
Doubled Value: 10
Example 2: Incrementing a Value
import java.util.function.IntUnaryOperator;
public class IncrementExample {
public static void main(String[] args) {
// Define an IntUnaryOperator that increments the value by 1
IntUnaryOperator increment = (operand) -> operand + 1;
int result = increment.applyAsInt(7);
System.out.println("Incremented Value: " + result);
}
}
Output:
Incremented Value: 8
Example 3: Using andThen
import java.util.function.IntUnaryOperator;
public class AndThenExample {
public static void main(String[] args) {
// Define two IntUnaryOperators
IntUnaryOperator doubleValue = (operand) -> operand * 2;
IntUnaryOperator increment = (operand) -> operand + 1;
// Compose the operators
IntUnaryOperator doubleThenIncrement = doubleValue.andThen(increment);
int result = doubleThenIncrement.applyAsInt(3);
System.out.println("Result after doubling and incrementing: " + result);
}
}
Output:
Result after doubling and incrementing: 7
Example 4: Using compose
import java.util.function.IntUnaryOperator;
public class ComposeExample {
public static void main(String[] args) {
// Define two IntUnaryOperators
IntUnaryOperator increment = (operand) -> operand + 1;
IntUnaryOperator doubleValue = (operand) -> operand * 2;
// Compose the operators
IntUnaryOperator incrementThenDouble = doubleValue.compose(increment);
int result = incrementThenDouble.applyAsInt(3);
System.out.println("Result after incrementing and doubling: " + result);
}
}
Output:
Result after incrementing and doubling: 8
4. Real-World Use Case: Applying Discounts
In e-commerce applications, IntUnaryOperator
can be used to apply discounts to product prices.
import java.util.function.IntUnaryOperator;
public class DiscountCalculator {
public static void main(String[] args) {
// Define an IntUnaryOperator to apply a 10% discount
IntUnaryOperator applyDiscount = (price) -> (int) (price * 0.9);
int discountedPrice = applyDiscount.applyAsInt(100);
System.out.println("Discounted Price: " + discountedPrice);
}
}
Output:
Discounted Price: 90
Conclusion
The IntUnaryOperator
interface is a practical tool in Java for transforming int
values. It is particularly useful for mathematical calculations and data processing. Using IntUnaryOperator
can lead to cleaner and more efficient code, especially in functional programming contexts. The andThen
and compose
methods allow for easy composition of operations, enhancing code modularity.
Comments
Post a Comment
Leave Comment