<
УЦ Контакт

Лидер IT образования

Как приятно знать, что ты что-то узнал (Мольер)

 
03056, Киев, пер. Ковальский 13, 1-й этаж, офис №2
 
Программы курсов

Акция! Студентам - Скидка 15%! Слушателям IT Academy бесплатное посещение English Club

Статья>>Огляд Java 8 ч.2

Lambda- вирази

Важливою властивістю функціональних інтерфейсів є те, що вони можуть бути створені за допомогою lambdas.

Lambda вирази дозволяють використовувати  функціональність як аргумент методу, а код як дані. Ось кілька прикладів того, як використовуються вирази лямбда. Вхідні дані зліва і код справа.

    (int x, int y) -> { return x + y; } 
    (x, y) -> x + y 
    x -> x * x 
    () -> x 
    x -> { System.out.println(x); } 

Ось приклад створення екземпляра функціонального інтерфейсу Runnable.

    Runnable r = () -> { System.out.println("Running!"); } Ось приклад, де анонімний клас
замінений на лямбда-вираз.

Потік java.util.stream

Основне нововведення це колекція, звана потік, не плутайте з InputStream і OutputStream. Потік не заміщає ArrayLists або інші колекції. Це нововведення дозволяє управляти даними швидше і легше. Потік - це одноразовий об'єкт, тобто обробити дані в ньому можна один раз.

Stream<T> stream = collection.stream(); 

Потік володіє можливістю застосувати функції filter, map, reduce для його обробки.

Для Stream є два режими: послідовний і паралельний. Це дозволяє задіяти можливості багатоядерних процесорів.

Для послідовного режиму:

List <Person> people = list.getStream.collect(Collectors.toList());


Для паралельного режиму:

List <Person> people = list.getStream.parallel().collect(Collectors.toList());

 


Полезные статьи