You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: java8.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@
100
100
## Что такое _«лямбда»_? Какова структура и особенности использования лямбда-выражения?
101
101
__Лямбда__ представляет собой набор инструкций, которые можно выделить в отдельную переменную и затем многократно вызвать в различных местах программы.
102
102
103
-
Основу лямбда-выражения составляет _лямбда-оператор_, который представляет стрелку `->`. Этот оператор разделяет лямбда-выражение на две части: левая часть содержит список параметров выражения, а правая собственно представляет тело лямбда-выражения, где выполняются все действия.
103
+
Основу лямбда-выражения составляет _лямбда-оператор_, который представляет стрелку `->`. Этот оператор разделяет лямбда-выражение на две части: левая часть содержит список параметров выражения, а правая, собственно, представляет тело лямбда-выражения, где выполняются все действия.
104
104
105
105
Лямбда-выражение не выполняется само по себе, а образует реализацию метода, определенного в функциональном интерфейсе. При этом важно, что функциональный интерфейс должен содержать только один единственный метод без реализации.
106
106
@@ -353,12 +353,12 @@ __`BiPredicate<T,U>`__ представляет собой операцию, к
353
353
[к оглавлению](#java-8)
354
354
355
355
## Для чего нужны функциональные интерфейсы вида `_To_Function`?
356
-
+`DoubleToIntFunction` - операция принимающая аргумент класса `Double` и возвращающая результат типа `Integer`;
357
-
+`DoubleToLongFunction` - операция принимающая аргумент класса `Double` и возвращающая результат типа `Long`;
358
-
+`IntToDoubleFunction` - операция принимающая аргумент класса `Integer` и возвращающая результат типа `Double`;
359
-
+`IntToLongFunction` - операция принимающая аргумент класса `Integer` и возвращающая результат типа `Long`;
360
-
+`LongToDoubleFunction` - операция принимающая аргумент класса `Long` и возвращающая результат типа `Double`;
361
-
+`LongToIntFunction` - операция принимающая аргумент класса `Long` и возвращающая результат типа `Integer`.
356
+
+`DoubleToIntFunction` - операция, принимающая аргумент класса `Double` и возвращающая результат типа `Integer`;
357
+
+`DoubleToLongFunction` - операция, принимающая аргумент класса `Double` и возвращающая результат типа `Long`;
358
+
+`IntToDoubleFunction` - операция, принимающая аргумент класса `Integer` и возвращающая результат типа `Double`;
359
+
+`IntToLongFunction` - операция, принимающая аргумент класса `Integer` и возвращающая результат типа `Long`;
360
+
+`LongToDoubleFunction` - операция, принимающая аргумент класса `Long` и возвращающая результат типа `Double`;
361
+
+`LongToIntFunction` - операция, принимающая аргумент класса `Long` и возвращающая результат типа `Integer`.
362
362
363
363
[к оглавлению](#java-8)
364
364
@@ -370,9 +370,9 @@ __`BiPredicate<T,U>`__ представляет собой операцию, к
370
370
[к оглавлению](#java-8)
371
371
372
372
## Для чего нужны функциональные интерфейсы `ToDoubleFunction<T>`, `ToIntFunction<T>` и `ToLongFunction<T>`?
373
-
+`ToDoubleFunction<T>` - операция принимающая аргумент класса `T` и возвращающая результат типа `Double`;
374
-
+`ToLongFunction<T>` - операция принимающая аргумент класса `T` и возвращающая результат типа `Long`;
375
-
+`ToIntFunction<T>` - операция принимающая аргумент класса `T` и возвращающая результат типа `Integer`.
373
+
+`ToDoubleFunction<T>` - операция, принимающая аргумент класса `T` и возвращающая результат типа `Double`;
374
+
+`ToLongFunction<T>` - операция, принимающая аргумент класса `T` и возвращающая результат типа `Long`;
375
+
+`ToIntFunction<T>` - операция, принимающая аргумент класса `T` и возвращающая результат типа `Integer`.
Коллекции позволяют работать с элементами по-отдельности, тогда как стримы так делать не позволяют, но вместо этого предоставляют возможность выполнять функции над данными как над одним целым.
543
543
544
544
Также стоит отметить важность самой концепции сущностей: `Collection` - это прежде всего воплощение _Структуры Данных_. Например, `Set` не просто хранит в себе элементы, он реализует идею множества с уникальными элементами,
545
-
тогда как `Stream`, это прежде всего абстракция необходимая для реализации _конвеера вычислений_, собственно поэтому, результатом работы конвеера являются те или иные _Структуры Данных_ или же результаты проверок/поиска и т.п.
545
+
тогда как `Stream`, это прежде всего абстракция необходимая для реализации _конвейера вычислений_, собственно, поэтому, результатом работы конвейера являются те или иные _Структуры Данных_ или же результаты проверок/поиска и т.п.
0 commit comments