Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Java 8. Методы интерфейсов по умолчанию, лямбда - выражения

Содержание

Методы интерфейсов по умолчаниюJava 8 позволяет вам добавлять не абстрактные реализации методов в интерфейс, используя ключевое слово default. Эта новшество также известно, как метод расширения.
Введение в сетевые технологииВиталий Унгурян unguryan@itstep.org Методы интерфейсов по умолчаниюJava 8 позволяет вам добавлять не абстрактные реализации методов Лямбда - выраженияЛямбда - выражение представляет собой блок кода, который можно передать Лямбда - выраженияСинтаксис (список параметров) -> исполняемый код; (String firstStr, String secondStr) Лямбда - выраженияЕсли лямбда-выражение не имеет параметров, вы все равно необходимо ставить Функциональные интерфейсыКаждой лямбде соответствует тип, представленный интерфейсом. Так называемый функциональный интерфейс должен Ссылки на методы и конструкторыJava 8 позволяет вам передавать ссылки на методы Области действия лямбдДоступ к переменным внешней области действия из лямбда-выражения очень схож Доступ к методам интерфейсов по умолчаниюВнутри лямбда-выражений запрещено обращаться к методам по Встроенные функциональные интерфейсыВ JDK 1.8 содержит множество встроенных функциональных интерфейсов. Некоторые из Встроенные функциональные интерфейсыОднако в Java 8 также появилось много новых функциональных интерфейсов. ПредикатыПредикаты — это функции, принимающие один аргумент, и возвращающие значение типа boolean. ФункцииФункции принимают один аргумент и возвращают некоторый результат. Методы по умолчанию могут ПоставщикиПоставщики (suppliers) предоставляют результат заданного типа. В отличии от функций, поставщики не принимают аргументов. ПотребителиПотребители (consumers) представляют собой операции, которые производятся на одним входным аргументом. КомпараторыКомпараторы хорошо известны по предыдущим версиям Java. Java 8 добавляет в интерфейс различные методы по умолчанию. Опциональные значенияОпциональные значения (optionals) не являются функциональными интерфейсами, однако являются удобным средством предотвращения NullPointerException. Опциональные значенияОпциональные значение — это по сути контейнер для значения, которое может ПотокиТип java.util.Stream представляет собой последовательность элементов, над которой можно производить различные операции. ПотокиКонечные операции возвращают результат определённого типа, а промежуточные операции возвращают тот же ПотокиПоток создаются на основе источников, например типов, реализующих java.util.Collection, такие как списки FilterОперация Filter принимает предикат, который фильтрует все элементы потока. Эта операция является SortedОперация Sorted является промежуточной операцией, которая возвращает отсортированное представление потока. Элементы сортируются MapПромежуточная операция map преобразовывает каждый элемент в другой объект при помощи переданной функции. MatchДля проверки, удовлетворяет ли поток заданному предикату, используются различные операции сопоставления (match). CountОперация Count является конечной операцией и возвращает количество элементов в потоке. Типом возвращаемого значения является long. ReduceЭта конечная операция производит свертку элементов потока по заданной функции. Результатом является опциональное значение. Параллельные потокиЭта конечная операция производит свертку элементов потока по заданной функции. Результатом является опциональное значение.
Слайды презентации

Слайд 2 Методы интерфейсов по умолчанию
Java 8 позволяет вам добавлять

Методы интерфейсов по умолчаниюJava 8 позволяет вам добавлять не абстрактные реализации

не абстрактные реализации методов в интерфейс, используя ключевое слово

default. Эта новшество также известно, как метод расширения.

Слайд 3 Лямбда - выражения

Лямбда - выражение представляет собой блок

Лямбда - выраженияЛямбда - выражение представляет собой блок кода, который можно

кода, который можно передать в другое место, поэтому он

может быть выполнен позже, один или несколько раз.

Слайд 4 Лямбда - выражения

Синтаксис
(список параметров) -> исполняемый код;

Лямбда - выраженияСинтаксис (список параметров) -> исполняемый код; (String firstStr, String



(String firstStr, String secondStr) -> {
if (firstStr.length()

< secondStr.length()) return -1;
else if (firstStr.length() > secondStr.length()) return 1;
else return 0;
}

Слайд 5 Лямбда - выражения

Если лямбда-выражение не имеет параметров, вы

Лямбда - выраженияЕсли лямбда-выражение не имеет параметров, вы все равно необходимо

все равно необходимо ставить пустые скобки.

() -> {


for (int i = 0; i < 1000; i++) doWork();
}

Слайд 6 Функциональные интерфейсы

Каждой лямбде соответствует тип, представленный интерфейсом. Так

Функциональные интерфейсыКаждой лямбде соответствует тип, представленный интерфейсом. Так называемый функциональный интерфейс

называемый функциональный интерфейс должен содержать ровно один абстрактный метод.

Каждое лямбда-выражение этого типа будет сопоставлено объявленному методу.

Слайд 7 Ссылки на методы и конструкторы

Java 8 позволяет вам

Ссылки на методы и конструкторыJava 8 позволяет вам передавать ссылки на

передавать ссылки на методы или конструкторы. Для этого нужно

использовать оператор ::

Слайд 8 Области действия лямбд

Доступ к переменным внешней области действия

Области действия лямбдДоступ к переменным внешней области действия из лямбда-выражения очень

из лямбда-выражения очень схож к доступу из анонимных классов.

Вы можете ссылаться на переменные, объявленные как final, на экземплярные поля класса и статические переменные.

Слайд 9 Доступ к методам интерфейсов по умолчанию

Внутри лямбда-выражений запрещено

Доступ к методам интерфейсов по умолчаниюВнутри лямбда-выражений запрещено обращаться к методам

обращаться к методам по умолчанию. Следующий код не скомпилируется:

Formula

formula = (a) -> sqrt( a * 100);

Слайд 10 Встроенные функциональные интерфейсы

В JDK 1.8 содержит множество встроенных

Встроенные функциональные интерфейсыВ JDK 1.8 содержит множество встроенных функциональных интерфейсов. Некоторые

функциональных интерфейсов. Некоторые из них хорошо известны по предыдущим

версиям языка, например, Comparator или Runnable. Все эти интерфейсы были поддержаны в лямбдах добавлением аннотации @FunctionalInterface.

Слайд 11 Встроенные функциональные интерфейсы

Однако в Java 8 также появилось

Встроенные функциональные интерфейсыОднако в Java 8 также появилось много новых функциональных интерфейсов.

много новых функциональных интерфейсов.


Слайд 12 Предикаты

Предикаты — это функции, принимающие один аргумент, и

ПредикатыПредикаты — это функции, принимающие один аргумент, и возвращающие значение типа

возвращающие значение типа boolean. Интерфейс содержит различные методы по

умолчанию, позволяющие строить сложные условия (and, or, negate).


Слайд 13 Функции

Функции принимают один аргумент и возвращают некоторый результат.

ФункцииФункции принимают один аргумент и возвращают некоторый результат. Методы по умолчанию

Методы по умолчанию могут использоваться для построения цепочек вызовов

(compose, andThen).



Слайд 14 Поставщики

Поставщики (suppliers) предоставляют результат заданного типа. В отличии

ПоставщикиПоставщики (suppliers) предоставляют результат заданного типа. В отличии от функций, поставщики не принимают аргументов.

от функций, поставщики не принимают аргументов.




Слайд 15 Потребители

Потребители (consumers) представляют собой операции, которые производятся на

ПотребителиПотребители (consumers) представляют собой операции, которые производятся на одним входным аргументом.

одним входным аргументом.




Слайд 16 Компараторы

Компараторы хорошо известны по предыдущим версиям Java. Java

КомпараторыКомпараторы хорошо известны по предыдущим версиям Java. Java 8 добавляет в интерфейс различные методы по умолчанию.

8 добавляет в интерфейс различные методы по умолчанию.




Слайд 17 Опциональные значения


Опциональные значения (optionals) не являются функциональными интерфейсами,

Опциональные значенияОпциональные значения (optionals) не являются функциональными интерфейсами, однако являются удобным средством предотвращения NullPointerException.

однако являются удобным средством предотвращения NullPointerException.




Слайд 18 Опциональные значения

Опциональные значение — это по сути контейнер

Опциональные значенияОпциональные значение — это по сути контейнер для значения, которое

для значения, которое может быть равно null. Например, вам

нужен метод, который возвращает какое-то значение, но иногда он должен возвращать пустое значение. Вместо того, чтобы возвращать null, в Java 8 вы можете вернуть опциональное значение.


Слайд 19 Потоки

Тип java.util.Stream представляет собой последовательность элементов, над которой

ПотокиТип java.util.Stream представляет собой последовательность элементов, над которой можно производить различные

можно производить различные операции. Операции над потоками бывают или

промежуточными (intermediate) или конечными (terminal). параллельно.

Слайд 20 Потоки

Конечные операции возвращают результат определённого типа, а промежуточные

ПотокиКонечные операции возвращают результат определённого типа, а промежуточные операции возвращают тот

операции возвращают тот же поток.
Таким образом вы можете

строить цепочки из несколько операций над одним и тем же потоком.

Слайд 21 Потоки

Поток создаются на основе источников, например типов, реализующих

ПотокиПоток создаются на основе источников, например типов, реализующих java.util.Collection, такие как

java.util.Collection, такие как списки или множества (ассоциативные массивы не

поддерживаются). Операции над потоками могут выполняться как последовательно, так и параллельно.

Слайд 22 Filter

Операция Filter принимает предикат, который фильтрует все элементы

FilterОперация Filter принимает предикат, который фильтрует все элементы потока. Эта операция

потока. Эта операция является промежуточной, т.е. позволяет нам вызвать

другую операцию (например, forEach) над результатом. ForEach принимает функцию, которая вызывается для каждого элемента в (уже отфильтрованном) поток.

Слайд 23 Sorted

Операция Sorted является промежуточной операцией, которая возвращает отсортированное

SortedОперация Sorted является промежуточной операцией, которая возвращает отсортированное представление потока. Элементы

представление потока. Элементы сортируются в обычном порядке, если вы

не предоставили свой компаратор.
Помните, что sorted создаёт всего лишь отсортированное представление и не влияет на порядок элементов в исходной коллекции.


Слайд 24 Map

Промежуточная операция map преобразовывает каждый элемент в другой

MapПромежуточная операция map преобразовывает каждый элемент в другой объект при помощи переданной функции.

объект при помощи переданной функции.


Слайд 25 Match

Для проверки, удовлетворяет ли поток заданному предикату, используются

MatchДля проверки, удовлетворяет ли поток заданному предикату, используются различные операции сопоставления

различные операции сопоставления (match). Все операции сопоставления являются конечными

и возвращают результат типа boolean.

Слайд 26 Count

Операция Count является конечной операцией и возвращает количество

CountОперация Count является конечной операцией и возвращает количество элементов в потоке. Типом возвращаемого значения является long.

элементов в потоке. Типом возвращаемого значения является long.


Слайд 27 Reduce

Эта конечная операция производит свертку элементов потока по

ReduceЭта конечная операция производит свертку элементов потока по заданной функции. Результатом является опциональное значение.

заданной функции. Результатом является опциональное значение.


  • Имя файла: java-8-metody-interfeysov-po-umolchaniyu-lyambda-vyrazheniya.pptx
  • Количество просмотров: 89
  • Количество скачиваний: 0