Choose Language

Lesson 5 of 5 ┬╖ Streams, Lambdas & Functional Java
Intermediate тАФ hands-on тП▒ 22 min

Functional Programming with Java Streams API

Watch this lesson to understand Functional Programming with Java Streams API тАФ takes about 22 minutes.

What You Will Learn

рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреМрд╢рд▓ рд╕реАрдЦреЗрдВрдЧреЗ:

  • рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдФрд░ рдмрджрд▓рдирд╛
  • рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдк рдФрд░ рдлреНрд▓реИрдЯ рдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
  • рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ API рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдбреНрдпреВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

Key Concepts

рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ API рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╣реИрдВ:

  • рд╕реНрдЯреНрд░реАрдореНрд╕ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ
  • рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдлрд┐рд▓реНрдЯрд░, рдореИрдк, рдФрд░ рдлреНрд▓реИрдЯ рдореИрдк рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЛ рдореЙрдбрд┐рдлрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
  • рдЯрд░реНрдорд┐рдирд▓ рдСрдкрд░реЗрдЯрд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдХрд▓реЗрдХреНрдЯ, рд░рд┐рдбреНрдпреВрд╕, рдФрд░ рдлреЙрд░рдЗрдЪ рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЛ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

Code Examples

// рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
cars.stream()
    .filter(car -> car.getPrice() < 20000)
    .collect(Collectors.toList());

рдпрд╣ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд▓реНрдЯрд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

// рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
people.stream()
    .map(person -> new PersonDTO(person.getId(), person.getFirstName(), person.getLastName()))
    .collect(Collectors.toList());

рдпрд╣ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдк рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

Lesson Summary

рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ, рд╣рдордиреЗ рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ред рд╣рдордиреЗ рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдлрд┐рд▓реНрдЯрд░, рдореИрдк, рдФрд░ рдлреНрд▓реИрдЯ рдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред рд╣рдордиреЗ рдпрд╣ рднреА рд╕реАрдЦрд╛ рдХрд┐ рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЛ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓ рдСрдкрд░реЗрдЯрд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдХрд▓реЗрдХреНрдЯ, рд░рд┐рдбреНрдпреВрд╕, рдФрд░ рдлреЙрд░рдЗрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рднреА рджреЗрдЦрд╛ред

Practice Exercise

рдПрдХ рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдЙрди рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдвреЗрдВ рдЬрд┐рдирдХреА рдЖрдпреБ 18 рд╡рд░реНрд╖ рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реНрдЯреНрд░реАрдореНрд╕ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд▓реНрдЯрд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

What Is Next

рдЕрдЧрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ, рд╣рдо рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ API рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦреЗрдВрдЧреЗ, рдЬреИрд╕реЗ рдХрд┐ рдЧреНрд░реБрдкрд┐рдВрдЧ рдФрд░ рдЬреЙрдЗрдирд┐рдВрдЧред рд╣рдо рд╕реНрдЯреНрд░реАрдореНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реАрдЦреЗрдВрдЧреЗред

Go deeper on Java: рд╢реБрд░реБрдЖрдд рд╕реЗ Enterprise рддрдХ

Hand-picked books and tools our learners actually use. Affiliate-supported тАФ same price for you, supports free lessons.