Эти функциональные интерфейсы используются для представления унарных операций, которые принимают один аргумент определенного типа и возвращают результат того же типа.
UnaryOperator<T>: Принимает аргумент типа T и возвращает результат типа T. Является специализацией Function<T, T>.
java
DoubleUnaryOperator: Принимает аргумент типа double и возвращает результат типа double.
java
IntUnaryOperator: Принимает аргумент типа int и возвращает результат типа int.
java
LongUnaryOperator: Принимает аргумент типа long и возвращает результат типа long.
java
Они чаще используются при работе с потоками (Stream API) или в качестве параметров методов, когда требуется передать логику преобразования одного значения в другое того же типа. Специализированные версии (Double, Int, Long) предотвращают автобоксинг/анбоксинг при работе с примитивными типами, что повышает производительность.