CodeGym/Java Blog/рдпрд╛рджреГрдЪреНрдЫрд┐рдХ/рдЬрд╛рд╡рд╛ рдордзреАрд▓ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг. рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдХ...
John Squirrels
рдкрд╛рддрд│реА 41
San Francisco

рдЬрд╛рд╡рд╛ рдордзреАрд▓ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг. рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣. рднрд╛рдЧ 1

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдпрд╛ рдЧреНрд░реБрдкрдордзреНрдпреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ
рд╕рджрд╕реНрдп
рд╣рд╛ рд▓реЗрдЦ рдХреЛрдгрд╛рд╕рд╛рдареА рдЖрд╣реЗ?
  • рд╣реЗ рдЕрд╢рд╛ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдирд╛ рд╡рд╛рдЯрддреЗ рдХреА рддреНрдпрд╛рдВрдирд╛ рдЬрд╛рд╡рд╛ рдХреЛрдЕрд░ рдЖрдзреАрдЪ рдЪрд╛рдВрдЧрд▓реЗ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдирд╛ рдЬрд╛рд╡рд╛рдордзреАрд▓ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдмрджреНрджрд▓ рдХрд╛рд╣реАрдЪ рдорд╛рд╣рд┐рддреА рдирд╛рд╣реА. рдХрд┐рдВрд╡рд╛ рдХрджрд╛рдЪрд┐рдд рддреНрдпрд╛рдВрдиреА рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдмрджреНрджрд▓ рдХрд╛рд╣реАрддрд░реА рдРрдХрд▓реЗ рдЕрд╕реЗрд▓, рдкрд░рдВрддреБ рддрдкрд╢реАрд▓рд╛рдВрдЪреА рдХрдорддрд░рддрд╛ рдЖрд╣реЗ
  • рд╣реЗ рдЕрд╢рд╛ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдирд╛ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордЬ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддрд░реАрд╣реА рддреЗ рдШрд╛рдмрд░рд▓реЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рддреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╕рд╡рдп рдирд╛рд╣реА.
рдЬрд╛рд╡рд╛ рдордзреАрд▓ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг.  рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣.  рднрд╛рдЧ рез - резрдЬрд░ рддреБрдореНрд╣реА рдпрд╛рдкреИрдХреА рдПрдХрд╛ рд╡рд░реНрдЧрд╡рд╛рд░реАрдд рдмрд╕рдд рдирд╕рд╛рд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╛ рд▓реЗрдЦ рдХрдВрдЯрд╛рд│рд╡рд╛рдгрд╛, рд╕рджреЛрд╖ рдХрд┐рдВрд╡рд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рддреБрдордЪрд╛ рдЪрд╣рд╛рдЪрд╛ рдХрдк рд╡рд╛рдЯреВ рд╢рдХрдд рдирд╛рд╣реА. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рд╕ рдореЛрдХрд│реНрдпрд╛ рдордирд╛рдиреЗ рдХрд┐рдВрд╡рд╛, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╡рд┐рд╖рдпрд╛рдд рдкрд╛рд░рдВрдЧрдд рдЕрд╕реЗрд▓, рддрд░ рдХреГрдкрдпрд╛ рдореА рд▓реЗрдЦрд╛рдд рд╕реБрдзрд╛рд░рдгрд╛ рдХрд┐рдВрд╡рд╛ рдкреВрд░рдХ рдХрд╕реЗ рдмрдирд╡реВ рд╢рдХреЗрди рдпрд╛рдмрджреНрджрд▓ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕реВрдЪрдирд╛ рджреНрдпрд╛. рд╕рд╛рд╣рд┐рддреНрдпрд╛рдд рдХреЛрдгрддреЗрд╣реА рд╢реИрдХреНрд╖рдгрд┐рдХ рдореВрд▓реНрдп рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рджрд╛рд╡рд╛ рдХрд░рдд рдирд╛рд╣реА, рдирд╡реАрдирддрд╛ рд╕реЛрдбрд╛. рдЕрдЧрджреА рдЙрд▓рдЯ: рдореА рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдХреНрд▓рд┐рд╖реНрдЯ (рдХрд╛рд╣реА рд▓реЛрдХрд╛рдВрд╕рд╛рдареА) рдЧреЛрд╖реНрдЯреАрдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди. рд╕реНрдЯреНрд░реАрдо API рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рдирдВрддреАрдиреЗ рдорд▓рд╛ рд╣реЗ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕ рдкреНрд░реЗрд░рд┐рдд рдХреЗрд▓реЗ. рдореА рддреНрдпрд╛рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЖрдгрд┐ рдард░рд╡рд▓реЗ рдХреА рдорд╛рдЭреНрдпрд╛ рдкреНрд░рд╡рд╛рд╣рд╛рддреАрд▓ рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╕рдордЬреВрди рдШреЗрддрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдЕрдирд╛рдХрд▓рдиреАрдп рдЕрд╕рддреАрд▓. рддрд░ рдЖрдкрдг lambda expressions рд╕рд╣ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВ. рд╣рд╛ рд▓реЗрдЦ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ?
  1. рддреБрдореНрд╣рд╛рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (OOP) рд╕рдордЬрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рдореНрд╣рдгрдЬреЗ:

    • рд╡рд░реНрдЧ, рд╡рд╕реНрддреВ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдлрд░рдХ;
    • рдЗрдВрдЯрд░рдлреЗрд╕, рддреЗ рд╡рд░реНрдЧрд╛рдВрдкреЗрдХреНрд╖рд╛ рдХрд╕реЗ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рд╡рд░реНрдЧрд╛рдВрдордзреАрд▓ рд╕рдВрдмрдВрдз;
    • рдкрджреНрдзрддреА, рддреНрдпрд╛рдВрдирд╛ рдХрд╕реЗ рдХреЙрд▓ рдХрд░рд╛рдпрдЪреЗ, рдЕрдореВрд░реНрдд рдкрджреНрдзрддреА (рдореНрд╣рдгрдЬреЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреА), рдкрджреНрдзрддреАрдЪреЗ рдорд╛рдкрджрдВрдб, рдкрджреНрдзрддреАрдЪреЗ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдкрд╛рд╕ рдХрд░рд╛рдпрдЪреЗ;
    • рдНрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╛рдпрд░реНрд╕, рд╕реНрдЯреЕрдЯрд┐рдХ рдкрджреНрдзрддреА/рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕, рдЕрдВрддрд┐рдо рдкрджреНрдзрддреА/рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕;
    • рд╡рд░реНрдЧ рдЖрдгрд┐ рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рд╡рд╛рд░рд╕рд╛, рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рдПрдХрд╛рдзрд┐рдХ рд╡рд╛рд░рд╕рд╛.
  2. рдЬрд╛рд╡рд╛ рдХреЛрд░рдЪреЗ рдЬреНрдЮрд╛рди: рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░ (рдЬреЗрдиреЗрд░рд┐рдХ), рд╕рдВрдЧреНрд░рд╣ (рдпрд╛рджреНрдпрд╛), рдзрд╛рдЧреЗ.
рдмрд░рдВ, рдЪрд▓рд╛ рддреЗ рдорд┐рд│рд╡реВрдпрд╛.

рдереЛрдбрд╛ рдЗрддрд┐рд╣рд╛рд╕

рд▓реЕрдореНрдмрдбрд╛ рдПрдХреНрд╕реНрдкреНрд░реЗрд╢рдиреНрд╕ рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдордзреВрди рдЬрд╛рд╡рд╛рдордзреНрдпреЗ рдЖрд▓реЗ рдЖрдгрд┐ рддреЗрдереВрди рдЧрдгрд┐рддрд╛рддреВрди рдЖрд▓реЗ. 20 рд╡реНрдпрд╛ рд╢рддрдХрд╛рдЪреНрдпрд╛ рдордзреНрдпрд╛рдд рдпреБрдирд╛рдпрдЯреЗрдб рд╕реНрдЯреЗрдЯреНрд╕рдордзреНрдпреЗ, рдЕрд▓реЛрдиреНрдЭреЛ рдЪрд░реНрдЪ, рдЬреНрдпрд╛рдВрдирд╛ рдЧрдгрд┐рдд рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЕрдореВрд░реНрдд рдЧреЛрд╖реНрдЯреАрдВрдЪреА рдЦреВрдк рдЖрд╡рдб рд╣реЛрддреА, рддреНрдпрд╛рдВрдиреА рдкреНрд░рд┐рдиреНрд╕реНрдЯрди рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рдд рдХрд╛рдо рдХреЗрд▓реЗ. рдЕрд▓реЛрдиреНрдЭреЛ рдЪрд░реНрдЪрдиреЗ рд▓реЕрдореНрдмрдбрд╛ рдХреЕрд▓реНрдХреНрдпреБрд▓рд╕рдЪрд╛ рд╢реЛрдз рд▓рд╛рд╡рд▓рд╛, рдЬреЛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЕрдореВрд░реНрдд рдХрд▓реНрдкрдирд╛рдВрдЪрд╛ рд╕рдВрдЪ рд╣реЛрддрд╛ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрд╢реА рдкреВрд░реНрдгрдкрдгреЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╡реНрд╣рддрд╛. рдЕреЕрд▓рди рдЯреНрдпреБрд░рд┐рдВрдЧ рдЖрдгрд┐ рдЬреЙрди рдлреЙрди рдиреНрдпреВрдорди рдпрд╛ рдЧрдгрд┐рддрдЬреНрдЮрд╛рдВрдиреА рдПрдХрд╛рдЪ рд╡реЗрд│реА рдкреНрд░рд┐рдиреНрд╕реНрдЯрди рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рдд рдХрд╛рдо рдХреЗрд▓реЗ. рд╕рд░реНрд╡ рдХрд╛рд╣реА рдПрдХрддреНрд░ рдЖрд▓реЗ: рдЪрд░реНрдЪ рд▓реЕрдореНрдмрдбрд╛ рдХреЕрд▓реНрдХреНрдпреБрд▓рд╕рд╕рд╣ рдЖрд▓реЗ. рдЯреНрдпреБрд░рд┐рдВрдЧрдиреЗ рддреНрдпрд╛рдЪреЗ рдЕрдореВрд░реНрдд рд╕рдВрдЧрдгрди рдпрдВрддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ, рдЬреЗ рдЖрддрд╛ "рдЯреНрдпреБрд░рд┐рдВрдЧ рдорд╢реАрди" рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ. рдЖрдгрд┐ рд╡реЙрди рдиреНрдпреВрдордирдиреЗ рдПрдХ рд╕рдВрдЧрдгрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реЗ рдЬреНрдпрд╛рдиреЗ рдЖрдзреБрдирд┐рдХ рд╕рдВрдЧрдгрдХрд╛рдВрдЪрд╛ рдЖрдзрд╛рд░ рдмрдирд╡рд▓рд╛ (рдЖрддрд╛ рддреНрдпрд╛рд▓рд╛ "рд╡реНрд╣реЙрди рдиреНрдпреВрдорди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░" рдореНрд╣рдЯрд▓реЗ рдЬрд╛рддреЗ). рддреНрдпрд╛ рд╡реЗрд│реА, рдЕрд▓реЛрдиреНрдЭреЛ рдЪрд░реНрдЪ' рдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрдЪреНрдпрд╛ рдХреГрддреАрдВрдЗрддрдХреНрдпрд╛ рдкреНрд░рд╕рд┐рджреНрдз рдЭрд╛рд▓реНрдпрд╛ рдирд╛рд╣реАрдд (рд╢реБрджреНрдз рдЧрдгрд┐рддрд╛рдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдЪрд╛ рдЕрдкрд╡рд╛рдж рд╡рдЧрд│рддрд╛). рддрдерд╛рдкрд┐, рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ рдЬреЙрди рдореЕрдХрдХрд╛рд░реНрдереА (рдкреНрд░рд┐рдиреНрд╕рдЯрди рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд┐рдЯреАрдЪреЗ рдкрджрд╡реАрдзрд░ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рдХрдереЗрдЪреНрдпрд╛ рд╡реЗрд│реА, рдореЕрд╕реЕрдЪреНрдпреБрд╕реЗрдЯреНрд╕ рдЗрдиреНрд╕реНрдЯрд┐рдЯреНрдпреВрдЯ рдСрдл рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреАрдЪреЗ рдХрд░реНрдордЪрд╛рд░реА) рдпрд╛рдВрдирд╛ рдЪрд░реНрдЪрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрдордзреНрдпреЗ рд░рд╕ рдирд┐рд░реНрдорд╛рдг рдЭрд╛рд▓рд╛. 1958 рдордзреНрдпреЗ, рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд LISP рд╣реА рдкрд╣рд┐рд▓реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рддрдпрд╛рд░ рдХреЗрд▓реА. рдЖрдгрд┐ 58 рд╡рд░реНрд╖рд╛рдВрдирдВрддрд░, Java 8 рдордзреНрдпреЗ рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛ рд▓реАрдХ рдЭрд╛рд▓реНрдпрд╛. 70 рд╡рд░реНрд╖реЗрд╣реА рдЙрд▓рдЯрд▓реА рдирд╛рд╣реАрдд... рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ, рдЧрдгрд┐рддреАрдп рдХрд▓реНрдкрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд╡реЗрд│ рдирд╛рд╣реА. рдореЕрд╕реЕрдЪреНрдпреБрд╕реЗрдЯреНрд╕ рдЗрдиреНрд╕реНрдЯрд┐рдЯреНрдпреВрдЯ рдСрдл рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреАрдЪреНрдпрд╛ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рд▓рд╛ рдЪрд░реНрдЪрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрдордзреНрдпреЗ рд░рд╕ рд╣реЛрддрд╛. 1958 рдордзреНрдпреЗ, рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд LISP рд╣реА рдкрд╣рд┐рд▓реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рддрдпрд╛рд░ рдХреЗрд▓реА. рдЖрдгрд┐ 58 рд╡рд░реНрд╖рд╛рдВрдирдВрддрд░, Java 8 рдордзреНрдпреЗ рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛ рд▓реАрдХ рдЭрд╛рд▓реНрдпрд╛. 70 рд╡рд░реНрд╖реЗрд╣реА рдЙрд▓рдЯрд▓реА рдирд╛рд╣реАрдд... рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ, рдЧрдгрд┐рддреАрдп рдХрд▓реНрдкрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд╡реЗрд│ рдирд╛рд╣реА. рдореЕрд╕реЕрдЪреНрдпреБрд╕реЗрдЯреНрд╕ рдЗрдиреНрд╕реНрдЯрд┐рдЯреНрдпреВрдЯ рдСрдл рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреАрдЪреНрдпрд╛ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рд▓рд╛ рдЪрд░реНрдЪрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрдордзреНрдпреЗ рд░рд╕ рд╣реЛрддрд╛. 1958 рдордзреНрдпреЗ, рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд LISP рд╣реА рдкрд╣рд┐рд▓реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рддрдпрд╛рд░ рдХреЗрд▓реА. рдЖрдгрд┐ 58 рд╡рд░реНрд╖рд╛рдВрдирдВрддрд░, Java 8 рдордзреНрдпреЗ рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛ рд▓реАрдХ рдЭрд╛рд▓реНрдпрд╛. 70 рд╡рд░реНрд╖реЗрд╣реА рдЙрд▓рдЯрд▓реА рдирд╛рд╣реАрдд... рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ, рдЧрдгрд┐рддреАрдп рдХрд▓реНрдкрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд╡реЗрд│ рдирд╛рд╣реА.

рдкреНрд░рдХрд░рдгрд╛рдЪреЗ рд╣реГрджрдп

рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╣реЗ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреЗ рдХрд╛рд░реНрдп рдЖрд╣реЗ. рддреБрдореНрд╣реА рд╣реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп Java рдкрджреНрдзрдд рдорд╛рдиреВ рд╢рдХрддрд╛ рдкрд░рдВрддреБ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдореНрд╣рдгреВрди рдЗрддрд░ рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖рдорддреЗрд╕рд╣. рддреЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗ. рдХреЗрд╡рд│ рд╕рдВрдЦреНрдпрд╛, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдгрд┐ рдорд╛рдВрдЬрд░реАрдЪ рдирд╡реНрд╣реЗ рддрд░ рдЗрддрд░ рдкрджреНрдзрддреА рджреЗрдЦреАрд▓ рдкрд╛рд╕ рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ рдЖрд╣реЗ! рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдЪреА рдХрдзреА рдЧрд░рдЬ рдкрдбреВ рд╢рдХрддреЗ? рд╣реЗ рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдХреЙрд▓рдмреЕрдХ рдкрджреНрдзрдд рдкрд╛рд╕ рдХрд░рд╛рдпрдЪреА рдЕрд╕рд▓реНрдпрд╛рд╕. рдореНрд╣рдгрдЬреЗрдЪ, рдЖрдкрдг рдЬреНрдпрд╛ рдкрджреНрдзрддреАрд▓рд╛ рдХреЙрд▓ рдХрд░рддреЛ рддреНрдпрд╛ рдкрджреНрдзрддреАрдЪреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдкрдг рдЬреНрдпрд╛ рдкрджреНрдзрддреАрдХрдбреЗ рдЬрд╛рддреЛ рддреНрдпрд╛рд▓рд╛ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЕрд╕рддреЗ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдореНрд╣рдгреВрди рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдПрдХ рдХреЙрд▓рдмреЕрдХ рдЖрдгрд┐ рдЗрддрд░рд╛рдВрдордзреНрдпреЗ рд╡реЗрдЧрд│рд╛ рдХреЙрд▓рдмреЕрдХ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ. рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рдЖрдордЪреА рдкрджреНрдзрдд рдЬреА рдЖрдордЪреЗ рдХреЙрд▓рдмреЕрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рддреНрдпрд╛рдВрдирд╛ рдХреЙрд▓ рдХрд░рддреЗ. рд╡рд░реНрдЧреАрдХрд░рдг рд╣реЗ рдПрдХ рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ. рд╕рдордЬрд╛ рдЖрдореНрд╣реА рдХрд╛рд╣реА рд╣реБрд╢рд╛рд░ рд╡рд░реНрдЧреАрдХрд░рдг рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд┐рд╣рд┐рдд рдЖрд╣реЛрдд рдЬреЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:
public void mySuperSort() {
    // We do something here
    if(compare(obj1, obj2) > 0)
    // And then we do something here
}
рд╡рд┐рдзрд╛рдирд╛рдордзреНрдпреЗ , рдЖрдореНрд╣реА рддреБрд▓рдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЛрди рд╡рд╕реНрддреВрдВрдордзреНрдпреЗ рдкрд╛рд╕ рдХрд░рдгреЗ ifрдпрд╛ рдкрджреНрдзрддреАрд▓рд╛ рдореНрд╣рдгрддреЛ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдкреИрдХреА рдХреЛрдгрддреА рд╡рд╕реНрддреВ "рдореЛрдареА" рдЖрд╣реЗ рд╣реЗ рдЬрд╛рдгреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ. compare()"рдореЛрдард╛" рд╣рд╛ "рдХрдореА" рдЪреНрдпрд╛ рдЖрдзреА рдпреЗрддреЛ рдЕрд╕реЗ рдЖрдкрдг рдЧреГрд╣реАрдд рдзрд░рддреЛ. рдореА рдЕрд╡рддрд░рдгрд╛рдВрдордзреНрдпреЗ "рдореЛрдард╛" рдареЗрд╡рддреЛ, рдХрд╛рд░рдг рдЖрдореНрд╣реА рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдкрджреНрдзрдд рд▓рд┐рд╣рд┐рдд рдЖрд╣реЛрдд рдЬреНрдпрд╛рдореБрд│реЗ рдХреЗрд╡рд│ рдЪрдврддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗрдЪ рдирд╡реНрд╣реЗ рддрд░ рдЙрддрд░рддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рджреЗрдЦреАрд▓ рдХреНрд░рдорд╡рд╛рд░реА рдХрд╢реА рд▓рд╛рд╡рд╛рдпрдЪреА рд╣реЗ рдХрд│реЗрд▓ (рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, "рдореЛрдард╛" рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд "рдХрдореА" рд╡рд╕реНрддреВ рдЕрд╕реЗрд▓. , рдЖрдгрд┐ рдЙрд▓рдЯ). рдЖрдордЪреНрдпрд╛ рдХреНрд░рдорд╡рд╛рд░реАрд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ mySuperSort()рдкрджреНрдзрддреАрдордзреНрдпреЗ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдпрдВрддреНрд░рдгрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЖрдореНрд╣реА рдЖрдордЪреА рдкрджреНрдзрдд рдХреЙрд▓ рдХреЗрд▓реНрдпрд╛рд╡рд░ "рдирд┐рдпрдВрддреНрд░рд┐рдд" рдХрд░рдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рд╣реЛрдК. рдЕрд░реНрдерд╛рдд, рдЖрдореНрд╣реА рджреЛрди рд╕реНрд╡рддрдВрддреНрд░ рдкрджреНрдзрддреА рд▓рд┐рд╣реВ рд╢рдХрддреЛ тАФ mySuperSortAscend()рдЖрдгрд┐mySuperSortDescend()- рдЪрдврддреНрдпрд╛ рдЖрдгрд┐ рдЙрддрд░рддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреНрдпрд╛рд╕рд╛рдареА. рдХрд┐рдВрд╡рд╛ рдЖрдкрдг рдкрджреНрдзрддреАрд╡рд░ рдХрд╛рд╣реА рдпреБрдХреНрддрд┐рд╡рд╛рдж рджреЗрдК рд╢рдХрддреЛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмреБрд▓рд┐рдпрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓; рд╕рддреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рдЪрдврддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд╛ рдЖрдгрд┐ рдЪреБрдХреАрдЪреЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЙрддрд░рддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ). рдкрдг рдЬрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рд╣реАрддрд░реА рдХреНрд▓рд┐рд╖реНрдЯ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд╛рдпрдЪреА рдЕрд╕реЗрд▓ рдЬрд╕реЗ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕреЕрд░реЗрдЪреА рдпрд╛рджреА? mySuperSort()рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕреЕрд░реЗрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рдХрд╢реА рд▓рд╛рд╡рд╛рдпрдЪреА рд╣реЗ рдЖрдордЪреНрдпрд╛ рдкрджреНрдзрддреАрд▓рд╛ рдХрд╕реЗ рдХрд│реЗрд▓? рдЖрдХрд╛рд░рд╛рдиреБрд╕рд╛рд░? рд╕рд░реНрд╡ рд╢рдмреНрджрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЪрд┐рдд рд▓рд╛рдВрдмреАрдиреБрд╕рд╛рд░? рдХрджрд╛рдЪрд┐рдд рдЕтАНреЕрд░реЗрдордзреАрд▓ рдкрд╣рд┐рд▓реНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрд╡рд░ рд╡рд░реНрдгрдХреНрд░рдорд╛рдиреБрд╕рд╛рд░ рдЖрдзрд╛рд░рд┐рдд? рдЖрдгрд┐ рдХрд╛рд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдЕреЕрд░реЗрдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдиреБрд╕рд╛рд░ рдЖрдгрд┐ рдЗрддрд░ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕреЕрд░реЗрдордзреАрд▓ рд╕рд░реНрд╡ рд╢рдмреНрджрд╛рдВрдЪреНрдпрд╛ рдПрдХрддреНрд░рд┐рдд рд▓рд╛рдВрдмреАрдиреБрд╕рд╛рд░ рдЕреЕрд░реЗрдЪреА рд╕реВрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд╛рдпрдЪреА рдЕрд╕реЗрд▓ рддрд░? рдорд▓рд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рддреБрд▓рдирд╛рдХрд░реНрддреНрдпрд╛рдВрдмрджреНрджрд▓ рдЖрдзреАрдЪ рдРрдХрд▓реЗ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдЖрдореНрд╣реА рдлрдХреНрдд рдЖрдордЪреНрдпрд╛ рдХреНрд░рдорд╡рд╛рд░реА рдкрджреНрдзрддреАрдХрдбреЗ рдПрдХ рддреБрд▓рдирд╛рддреНрдордХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рдард╡реВ рдЬреЗ рдЗрдЪреНрдЫрд┐рдд рдХреНрд░рдорд╡рд╛рд░реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ. рдХрд╛рд░рдг рдорд╛рдирдХsort()рдкрджреНрдзрдд , рдореА рдорд╛рдЭреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреНрдпреЗ mySuperSort()рд╡рд╛рдкрд░рдгрд╛рд░ рдЖрд╣реЗ рдпрд╛ рддрддреНрддреНрд╡рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ .sort()
String[] array1 = {"Dota", "GTA5", "Halo"};
String[] array2 = {"I", "really", "love", "Java"};
String[] array3 = {"if", "then", "else"};

List<String[]> arrays = new ArrayList<>();
arrays.add(array1);
arrays.add(array2);
arrays.add(array3);

Comparator<;String[]> sortByLength = new Comparator<String[]>() {
    @Override
    public int compare(String[] o1, String[] o2) {
        return o1.length - o2.length;
    }
};

Comparator<String[]> sortByCumulativeWordLength = new Comparator<String[]>() {

    @Override
    public int compare(String[] o1, String[] o2) {
        int length1 = 0;
        int length2 = 0;
        for (String s : o1) {
            length1 += s.length();
        }

        for (String s : o2) {
            length2 += s.length();
        }

        return length1 - length2;
    }
};

arrays.sort(sortByLength);
рдкрд░рд┐рдгрд╛рдо:
Dota GTA5 Halo
if then else
I really love Java
рдпреЗрдереЗ рдЕреЕрд░реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕреЕрд░реЗрдордзреАрд▓ рд╢рдмреНрджрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреБрд╕рд╛рд░ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рдХрдореА рд╢рдмреНрдж рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕреЕрд░реЗрд▓рд╛ "рдХрдореА" рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ. рдореНрд╣рдгреВрдирдЪ рддреЛ рдкреНрд░рдердо рдпреЗрддреЛ. рдЕрдзрд┐рдХ рд╢рдмреНрдж рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕреЕрд░реЗрд▓рд╛ "рдореЛрдареЗ" рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдареЗрд╡рд▓реЗ рдЬрд╛рддреЗ. рдЬрд░ рдЖрдкрдг рдкрджреНрдзрддреАрд╕рд╛рдареА рднрд┐рдиреНрди рддреБрд▓рдирд╛рдХрд░реНрддрд╛ рдкрд╛рд╕ рдХреЗрд▓рд╛ sort(), рдЬрд╕реЗ рдХреА sortByCumulativeWordLength, рддрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╡реЗрдЧрд│рд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд│реЗрд▓:
if then else
Dota GTA5 Halo
I really love Java
рдЖрддрд╛ are arrays рдЪреА рдХреНрд░рдорд╡рд╛рд░реА рдЕреЕрд░реЗрдЪреНрдпрд╛ рд╢рдмреНрджрд╛рдВрдордзреАрд▓ рдПрдХреВрдг рдЕрдХреНрд╖рд░рд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреБрд╕рд╛рд░ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдкрд╣рд┐рд▓реНрдпрд╛ рдЕреЕрд░реЗрдордзреНрдпреЗ 10 рдЕрдХреНрд╖рд░реЗ рдЖрд╣реЗрдд, рджреБрд╕рд▒реНрдпрд╛рдордзреНрдпреЗ - 12 рдЖрдгрд┐ рддрд┐рд╕рд▒реНрдпрд╛рдордзреНрдпреЗ - 15. рдЬрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдлрдХреНрдд рдПрдХрдЪ рддреБрд▓рдирд╛рдХрд░реНрддрд╛ рдЕрд╕реЗрд▓, рддрд░ рдЖрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдЧрд│реЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рддреНрдпрд╛рдРрд╡рдЬреА, рдкрджреНрдзрддреАрд▓рд╛ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА рдЖрдореНрд╣реА рдлрдХреНрдд рдПрдХ рдЕрдирд╛рдорд┐рдд рд╡рд░реНрдЧ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддреЛ sort(). рдпрд╛рд╕рд╛рд░рдЦреЗрдЪ рдХрд╛рд╣реАрд╕реЗ:
String[] array1 = {"Dota", "GTA5", "Halo"};
String[] array2 = {"I", "really", "love", "Java"};
String[] array3 = {"if", "then", "else"};

List<String[]> arrays = new ArrayList<>();

arrays.add(array1);
arrays.add(array2);
arrays.add(array3);

arrays.sort(new Comparator<String[]>() {
    @Override
    public int compare(String[] o1, String[] o2) {
        return o1.length - o2.length;
    }
});
рдЖрдореНрд╣рд╛рд▓рд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдХреЗрд╕ рдкреНрд░рдорд╛рдгреЗрдЪ рдкрд░рд┐рдгрд╛рдо рдорд┐рд│реЗрд▓. тАп рдХрд╛рд░реНрдп 1. рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд╛ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕреЕрд░реЗрдордзреАрд▓ рд╢рдмреНрджрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреНрдпрд╛ рдЪрдврддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдирд╕реВрди рдЙрддрд░рддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЕреЕрд░реЗрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡реЗрд▓. рдЖрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рд╕рд░реНрд╡ рдЖрдзреАрдЪ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ. рд╡рд╕реНрддреВрдВрдирд╛ рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ рдХрд╕реЗ рдкрд╛рд╕ рдХрд░рд╛рдпрдЪреЗ рд╣реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ. рдпрд╛ рдХреНрд╖рдгреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╢рд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рдЖрдкрдг рдПрдХрд╛ рдкрджреНрдзрддреАрдордзреНрдпреЗ рднрд┐рдиреНрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрд╛рд╕ рдХрд░реВ рд╢рдХрддреЛ, рдЬреА рдирдВрддрд░ рдЖрдкрдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реЗрд▓. рд╣реЗ рдкреНрд░рд╢реНрди рд╡рд┐рдЪрд╛рд░рддреЗ: рдЬрдЧрд╛рдд рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдпреЗрдереЗ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЖрд╣реЗ?тАп рдХрд╛рд░рдг рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╣реА рдПрдХ рд╡рд╕реНрддреВ рдЖрд╣реЗ рдЬреНрдпрд╛рдЪреА рдПрдХ рдкрджреНрдзрдд рдЖрд╣реЗ. "рдкрджреНрдзрддреА рдСрдмреНрдЬреЗрдХреНрдЯ" рдкреНрд░рдорд╛рдгреЗ. рдСрдмреНрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдкреЕрдХ рдХреЗрд▓реЗрд▓реА рдкрджреНрдзрдд. рдпрд╛рдд рдлрдХреНрдд рдПрдХ рдХрд┐рдВрдЪрд┐рдд рдЕрдкрд░рд┐рдЪрд┐рдд рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЖрд╣реЗ (рдкрд░рдВрддреБ рддреНрдпрд╛рдмрджреНрджрд▓ рдирдВрддрд░ рдЕрдзрд┐рдХ). рдЪрд▓рд╛ рдпрд╛ рдХреЛрдбрд╡рд░ рдЖрдгрдЦреА рдПрдХ рдирдЬрд░ рдЯрд╛рдХреВрдпрд╛:
arrays.sort(new Comparator<String[]>() {
    @Override
    public int compare(String[] o1, String[] o2) {
        return o1.length - o2.length;
    }
});
рдпреЗрдереЗ рдЖрдореНрд╣реА рдЖрдордЪреА рдЕреЕрд░реЗ рдпрд╛рджреА рдШреЗрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА sort()рдкрджреНрдзрдд рдХреЙрд▓ рдХрд░рддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдПрдХрд╛рдЪ compare()рдкрджреНрдзрддреАрд╕рд╣ рддреБрд▓рдирд╛ рдХрд░рдгрд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рддреЛ (рддреНрдпрд╛рдЪреЗ рдирд╛рд╡ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдлрд░рдХ рдкрдбрдд рдирд╛рд╣реА - рд╢реЗрд╡рдЯреА, рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯрдЪреА рдПрдХрдореЗрд╡ рдкрджреНрдзрдд рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рдЖрдореНрд╣реА рдЪреБрдХреАрдЪреЗ рд╣реЛрдК рд╢рдХрдд рдирд╛рд╣реА). рдпрд╛ рдкрджреНрдзрддреАрдордзреНрдпреЗ рджреЛрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрд╣реЗрдд рдЬреНрдпрд╛рд╕рд╣ рдЖрдореНрд╣реА рдХрд╛рд░реНрдп рдХрд░реВ. рддреБрдореНрд╣реА IntelliJ IDEA рдордзреНтАНрдпреЗ рдХрд╛рдо рдХрд░рдд рдЕрд╕рд▓реНтАНрдпрд╛рд╕, рддреБрдореНтАНрд╣реА рдХрджрд╛рдЪрд┐рдд рдЦрд╛рд▓реАрд▓ рдкреНрд░рдорд╛рдгреЗ рдХреЛрдбрд▓рд╛ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдХрдВрдбреЗрдиреНтАНрд╕ рдХрд░рдгреНтАНрдпрд╛рдЪреА рдСрдлрд░ рдкрд╛рд╣рд┐рд▓реА рдЕрд╕реЗрд▓:
arrays.sort((o1, o2) -> o1.length - o2.length);
рд╣реЗ рд╕рд╣рд╛ рдУрд│реА рдХрдореА рдХрд░реВрди рдПрдХрд╛ рд▓рд╣рд╛рди рдУрд│реАрд╡рд░ рдпреЗрддреЗ. 6 рдУрд│реА рдПрдХ рд▓рд╣рд╛рди рдореНрд╣рдгреВрди рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдХрд╛рд╣реАрддрд░реА рдЧрд╛рдпрдм рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдореА рд╣рдореА рджреЗрддреЛ рдХреА рддреЗ рдХрд╛рд╣реАрд╣реА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╡реНрд╣рддреЗ. рд╣рд╛ рдХреЛрдб рдирд┐рдирд╛рд╡реА рд╡рд░реНрдЧрд╛рдкреНрд░рдорд╛рдгреЗрдЪ рдХрд╛рд░реНрдп рдХрд░реЗрд▓. рдХрд╛рд░реНрдп 2. рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░реВрди рдЯрд╛рд╕реНрдХ 1 рдЪреЗ рд╕рдорд╛рдзрд╛рди рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд░рддрд╛рдирд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд╛ (рдХрдореАрддрдХрдореА, IntelliJ IDEA рд▓рд╛ рддреБрдордЪрд╛ рдЕрдирд╛рдорд┐рдд рд╡рд░реНрдЧ lambda рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд╛).

рдЪрд▓рд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛

рддрддреНрд╡рддрдГ, рдЗрдВрдЯрд░рдлреЗрд╕ рдореНрд╣рдгрдЬреЗ рдлрдХреНрдд рдЕрдореВрд░реНрдд рдкрджреНрдзрддреАрдВрдЪреА рдпрд╛рджреА. рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдПрдЦрд╛рджрд╛ рд╡рд░реНрдЧ рддрдпрд╛рд░ рдХрд░рддреЛ рдЬреЛ рдХрд╛рд╣реА рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд╛рдЧреВ рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рдЖрдкрд▓реНрдпрд╛ рд╡рд░реНрдЧрд╛рдиреЗ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреА рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд (рдХрд┐рдВрд╡рд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╡рд░реНрдЧ рдЕрдореВрд░реНрдд рдмрдирд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓). рдмрд░реНтАНрдпрд╛рдЪ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдВрд╕рд╣ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗрдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде,тАп List), рдЖрдгрд┐ рдлрдХреНрдд рдПрдХрд╛рдЪ рдкрджреНрдзрддреАрд╕рд╣ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗрдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, ComparatorрдХрд┐рдВрд╡рд╛ Runnable). рдЕрд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдд рдПрдХрдЪ рдкрджреНрдзрдд рдирд╛рд╣реА (рддрдерд╛рдХрдерд┐рдд рдорд╛рд░реНрдХрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдЬрд╕реЗ рдХреА Serializable). рдЬреНрдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдлрдХреНрдд рдПрдХ рдкрджреНрдзрдд рдЖрд╣реЗ рддреНрдпрд╛рдВрдирд╛ рдлрдВрдХреНрд╢рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рджреЗрдЦреАрд▓ рдореНрд╣рдгрддрд╛рдд . Java 8 рдордзреНрдпреЗ, рддреНрдпрд╛рдВрдирд╛ рд╡рд┐рд╢реЗрд╖ рднрд╛рд╖реНрдпрд╛рдиреЗ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ:@FunctionalInterface. рд╣реЗ рдПрдХрд▓-рдкрджреНрдзрддреАрдЪреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗрдд рдЬреЗ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрд╕рд╛рдареА рд▓рдХреНрд╖реНрдп рдкреНрд░рдХрд╛рд░ рдореНрд╣рдгреВрди рдпреЛрдЧреНрдп рдЖрд╣реЗрдд. рдореА рд╡рд░ рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдЧреБрдВрдбрд╛рд│рд▓реЗрд▓реА рдкрджреНрдзрдд рдЖрд╣реЗ. рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдЕрд╢реА рдПрдЦрд╛рджреА рд╡рд╕реНрддреВ рдкрд╛рд╕ рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдореВрд▓рдд: рд╣реА рдПрдХ рдкрджреНрдзрдд рдкрд╛рд╕ рдХрд░рдд рдЕрд╕рддреЛ. рдпрд╛ рдкрджреНрдзрддреАрд▓рд╛ рдХрд╛рдп рдореНрд╣рдгрддрд╛рдд рдпрд╛рдЪреА рдЖрдореНрд╣рд╛рд▓рд╛ рдкрд░реНрд╡рд╛ рдирд╛рд╣реА. рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдЧреЛрд╖реНрдЯреА рдореНрд╣рдгрдЬреЗ рдкрджреНрдзрддреАрдЪреЗ рдорд╛рдкрджрдВрдб рдЖрдгрд┐ рдЕрд░реНрдерд╛рддрдЪ, рдкрджреНрдзрддреАрдЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ. рдереЛрдбрдХреНрдпрд╛рдд, рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдореНрд╣рдгрдЬреЗ рдлрдВрдХреНрд╢рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА. рдЬрд┐рдереЗ рдЬрд┐рдереЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдПрдХрд╛рдЪ рдкрджреНрдзрддреАрдЪрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рджрд┐рд╕рддреЛ рддрд┐рдереЗ рдПрдХ рдЕрдирд╛рдорд┐рдХ рд╡рд░реНрдЧ lambda рдореНрд╣рдгреВрди рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдХрд┐рдВрд╡рд╛ рдХрдореА рдкрджреНрдзрддреА рдЕрд╕рддреАрд▓, рддрд░ lambda рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдЖрдореНрд╣реА рддреНрдпрд╛рдРрд╡рдЬреА рдирд┐рдирд╛рд╡реА рд╡рд░реНрдЧ рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВ. рдЖрддрд╛ рд▓реЕрдореНрдмрдбрд╛рд╕ рдордзреНрдпреЗ рдереЛрдбреЗ рдЦреЛрджрдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ. :)

рдорд╛рдВрдбрдгреА

рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдЖрд╣реЗ:
(parameters) -> {method body}
рдореНрд╣рдгрдЬреЗрдЪ, рдореЗрдердб рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рднреЛрд╡рддреА рдХрдВрд╕, рдПрдХ "рдмрд╛рдг" (рд╣рд╛рдпрдлрди рдЖрдгрд┐ рддреНрдпрд╛рд╣реВрди рдЕрдзрд┐рдХ рдЪрд┐рдиреНрд╣рд╛рдиреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓рд╛), рдЖрдгрд┐ рдирдВрддрд░ рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ рдмреНрд░реЗрд╕реЗрд╕рдордзреНрдпреЗ рдореЗрдердб рдмреЙрдбреА. рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрджреНрдзрддреАрдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗрдд. рдЬрд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреЗ рдкреНрд░рдХрд╛рд░ рдХрдВрдкрд╛рдпрд▓рд░рджреНрд╡рд╛рд░реЗ рдирд┐рдГрд╕рдВрджрд┐рдЧреНрдзрдкрдгреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд (рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╣реЗ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рдЖрдореНрд╣реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕреЕрд░реЗрд╕рд╣ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЛрдд, рдХрд╛рд░рдг рдЖрдордЪрд╛ ListрдСрдмреНрдЬреЗрдХреНрдЯ ] рд╡рд╛рдкрд░реВрди рдЯрд╛рдЗрдк рдХреЗрд▓рд╛ рдЖрд╣реЗ String[), рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреЗ рдкреНрд░рдХрд╛рд░ рд╕реВрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА.
рдЬрд░ рддреЗ рдЕрд╕реНрдкрд╖реНрдЯ рдЕрд╕рддреАрд▓ рддрд░ рдкреНрд░рдХрд╛рд░ рд╕реВрдЪрд┐рдд рдХрд░рд╛. рдЬрд░ рдЧрд░рдЬ рдирд╕реЗрд▓ рддрд░ IDEA рддреНрдпрд╛рд╕ рд░рд╛рдЦрд╛рдбреА рд░рдВрдЧ рджреЗрдИрд▓.
рддреБрдореНрд╣реА рдпрд╛ рдУрд░реЕрдХрд▓ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рдордзреНрдпреЗ рдЖрдгрд┐ рдЗрддрд░рддреНрд░ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ . рдпрд╛рд▓рд╛ " рд▓рдХреНрд╖реНрдп рдЯрд╛рдпрдкрд┐рдВрдЧ " рдореНрд╣рдгрддрд╛рдд. рддреБрдореНрд╣реА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдирд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рддреЗ рдирд╛рд╡ рджреЗрдК рд╢рдХрддрд╛ тАФ рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реА рд╕рдорд╛рди рдирд╛рд╡реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рдХреЛрдгрддреЗрд╣реА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд╕рд▓реНрдпрд╛рд╕, рдлрдХреНрдд рд░рд┐рдХреНрдд рдХрдВрд╕ рд╕реВрдЪрд┐рдд рдХрд░рд╛. рдлрдХреНрдд рдПрдХ рдкреЕрд░рд╛рдореАрдЯрд░ рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреЛрдгрддреНрдпрд╛рд╣реА рдХрдВрд╕ рди рдХрд░рддрд╛ рдлрдХреНрдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреЗ рдирд╛рд╡ рд╕реВрдЪрд┐рдд рдХрд░рд╛. рдЖрддрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕рдордЬрд▓реЗ рдЖрд╣реЗрдд, рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдЪреНрдпрд╛ рдореБрдЦреНрдп рднрд╛рдЧрд╛рд╡рд░ рдЪрд░реНрдЪрд╛ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ. рдХреБрд░рд│реЗ рдмреНрд░реЗрд╕реЗрд╕рдЪреНрдпрд╛ рдЖрдд, рддреБрдореНрд╣реА рд╕рд╛рдорд╛рдиреНрдп рдкрджреНрдзрддреАрдкреНрд░рдорд╛рдгреЗрдЪ рдХреЛрдб рд▓рд┐рд╣рд┐рддрд╛. рдЬрд░ рддреБрдордЪреНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдПрдХрд╛рдЪ рдУрд│реАрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рдХрд░реНрд▓реА рдмреНрд░реЗрд╕реЗрд╕ рдкреВрд░реНрдгрдкрдгреЗ рд╡рдЧрд│реВ рд╢рдХрддрд╛ (if-statements рдЖрдгрд┐ for-loops рдкреНрд░рдорд╛рдгреЗ). рддреБрдордЪрд╛ рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рд▓реЕрдореНрдмрдбрд╛ рдХрд╛рд╣реА рдкрд░рдд рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рдП рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реАreturnрд╡рд┐рдзрд╛рди. рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣реА рдХреБрд░рд│реЗ рдмреНрд░реЗрд╕реЗрд╕ рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рддреБрдореНрд╣реА returnрд╕рд╛рдорд╛рдиреНрдп рдкрджреНрдзрддреАрдкреНрд░рдорд╛рдгреЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╡рд┐рдзрд╛рди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рдЙрджрд╛рд╣рд░рдгреЗ

рдЙрджрд╛рд╣рд░рдг рез.
() -> {}
рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг. рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдирд┐рд░рд░реНрдердХ :), рдХрд╛рд░рдг рддреЗ рдХрд╛рд╣реАрд╣реА рдХрд░рдд рдирд╛рд╣реА. рдЙрджрд╛рд╣рд░рдг реи.
() -> ""
рдЖрдгрдЦреА рдПрдХ рдордиреЛрд░рдВрдЬрдХ рдЙрджрд╛рд╣рд░рдг. рд╣реЗ рдХрд╛рд╣реАрд╣реА рдШреЗрдд рдирд╛рд╣реА рдЖрдгрд┐ рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░рдд рдХрд░рддреЗ ( returnрд╡рдЧрд│рд▓реЗ рдЖрд╣реЗ, рдХрд╛рд░рдг рддреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЖрд╣реЗ). рдпреЗрдереЗ рд╕рдорд╛рди рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдпрд╛рд╕рд╣ return:
() -> {
    return "";
}
рдЙрджрд╛рд╣рд░рдг 3. "рд╣реЕрд▓реЛ, рд╡рд░реНрд▓реНрдб!" lambdas рд╡рд╛рдкрд░реВрди
() -> System.out.println("Hello, World!")
returnрд╣реЗ рдХрд╛рд╣реАрд╣реА рдШреЗрдд рдирд╛рд╣реА рдЖрдгрд┐ рдХрд╛рд╣реАрд╣реА рдкрд░рдд рдХрд░рдд рдирд╛рд╣реА (рдЖрдореНрд╣реА рд╡рд░ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдареЗрд╡реВ рд╢рдХрдд рдирд╛рд╣реА System.out.println(), рдХрд╛рд░рдг println()рдкрджреНрдзрддреАрдЪрд╛ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ void). рд╣реЗ рдлрдХреНрдд рдЕрднрд┐рд╡рд╛рджрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ. рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рд╣реЗ рдЖрджрд░реНрд╢ рдЖрд╣реЗ Runnable. рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдг рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдЖрд╣реЗ:
public class Main {
    public static void main(String[] args) {
        new Thread(() -> System.out.println("Hello, World!")).start();
    }
}
рдХрд┐рдВрд╡рд╛ рдпрд╛рд╕рд╛рд░рдЦреЗ:
public class Main {
    public static void main(String[] args) {
        Thread t = new Thread(() -> System.out.println("Hello, World!"));
        t.start();
    }
}
рдХрд┐рдВрд╡рд╛ рдЖрдкрдг рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА RunnableрдСрдмреНрдЬреЗрдХреНрдЯ рдореНрд╣рдгреВрди рд╕реЗрд╡реНрд╣ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдирдВрддрд░ рддреЗ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░рдХрдбреЗ рджреЗрдК рд╢рдХрддреЛ Thread:
public class Main {
    public static void main(String[] args) {
        Runnable runnable = () -> System.out.println("Hello, World!");
        Thread t = new Thread(runnable);
        t.start();
    }
}
рдЬреЗрд╡реНрд╣рд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд▓реЕрдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛ рдХреНрд╖рдгреА рдЬрд╡рд│реВрди рдкрд╛рд╣реВ. рдЗрдВрдЯрд░рдлреЗрд╕ RunnableрдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рд╛рдВрдЧрддреЗ рдХреА рддреНрдпрд╛рдЪреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рдПрдХ public void run()рдкрджреНрдзрдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЗрдВрдЯрд░рдлреЗрд╕рдиреБрд╕рд╛рд░, runрдкрджреНрдзрдд рдХреЛрдгрддреЗрд╣реА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдШреЗрдд рдирд╛рд╣реА. рдЖрдгрд┐ рддреЗ рдХрд╛рд╣реАрд╣реА рдкрд░рдд рдХрд░рдд рдирд╛рд╣реА, рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪрд╛ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ void. рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╣рд╛ рдХреЛрдб рдЕрд╢рд╛ рдкрджреНрдзрддреАрд╕рд╣ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдпрд╛рд░ рдХрд░реЗрд▓ рдЬреА рдХрд╛рд╣реАрд╣реА рдШреЗрдд рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рдкрд░рдд рдХрд░рдд рдирд╛рд╣реА. Runnableрд╣реЗ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдкрджреНрдзрддреАрд╢реА рдкреВрд░реНрдгрдкрдгреЗ рдЬреБрд│рддреЗ run(). рдореНрд╣рдгреВрдирдЪ рдЖрдореНрд╣реА рд╣реА рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдареЗрд╡реВ рд╢рдХрд▓реЛ Runnable.тАп рдЙрджрд╛рд╣рд░рдг рек.
() -> 42
рдкреБрдиреНрд╣рд╛, рддреЗ рдХрд╛рд╣реАрд╣реА рдШреЗрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ 42 рдХреНрд░рдорд╛рдВрдХ рдкрд░рдд рдХрд░рддреЗ. рдЕрд╢реА рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдареЗрд╡рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ Callable, рдХрд╛рд░рдг рдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдлрдХреНрдд рдПрдХ рдкрджреНрдзрдд рдЖрд╣реЗ рдЬреА рдЕрд╕реЗ рджрд┐рд╕рддреЗ:
V call(),
рдкрд░рддреАрдЪрд╛ рдкреНрд░рдХрд╛рд░ рдХреБрдареЗтАп VтАпрдЖрд╣реЗ (рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд,тАп int). рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЬрддрди рдХрд░реВ рд╢рдХрддреЛ:
Callable<Integer> c = () -> 42;
рдЙрджрд╛рд╣рд░рдг 5. рдЕрдиреЗрдХ рдУрд│реАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕рд▓реЗрд▓реА рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА
() -> {
    String[] helloWorld = {"Hello", "World!"};
    System.out.println(helloWorld[0]);
    System.out.println(helloWorld[1]);
}
рдкреБрдиреНрд╣рд╛, рд╣реЗ рдХреЛрдгрддреЗрд╣реА рдкреЕрд░рд╛рдореАрдЯрд░ рдирд╕рд▓реЗрд▓реЗ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЖрд╣реЗ рдЖрдгрд┐ voidрд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ (рдХрд╛рд░рдг рдХреЛрдгрддреЗрд╣реА рд╡рд┐рдзрд╛рди рдирд╛рд╣реА return).тАп рдЙрджрд╛рд╣рд░рдг 6
x -> x
рдпреЗрдереЗ рдЖрдкрдг xрд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдШреЗрддреЛ рдЖрдгрд┐ рддреЗ рдкрд░рдд рдХрд░рддреЛ. рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдЬрд░ рдлрдХреНрдд рдПрдХ рдкреЕрд░рд╛рдореАрдЯрд░ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рднреЛрд╡рддрд╛рд▓рдЪреЗ рдХрдВрд╕ рд╡рдЧрд│реВ рд╢рдХрддрд╛. рдпреЗрдереЗ рд╕рдорд╛рди рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдХрдВрд╕рд╛рдВрд╕рд╣:
(x) -> x
рдЖрдгрд┐ рдпреЗрдереЗ рд╕реНрдкрд╖реНрдЯ рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯрд╕рд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ:
x -> {
    return x;
}
рдХрд┐рдВрд╡рд╛ рдХрдВрд╕ рдЖрдгрд┐ рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯрд╕рд╣ рдЕрд╕реЗ рдХрд░рд╛:
(x) -> {
    return x;
}
рдХрд┐рдВрд╡рд╛ рдкреНрд░рдХрд╛рд░рд╛рдЪреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрддрд╛рд╕рд╣ (рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХрдВрд╕рд╛рд╕рд╣):
(int x) -> x
рдЙрджрд╛рд╣рд░рдг 7
x -> ++x
рдЖрдореНрд╣реА xрддреЗ рдШреЗрддреЛ рдЖрдгрд┐ рдкрд░рдд рдХрд░рддреЛ, рдкрд░рдВрддреБ 1 рдЬреЛрдбрд▓реНрдпрд╛рдирдВрддрд░рдЪ. рддреБрдореНрд╣реА рддреЛ рд▓реЕрдореНрдмрдбрд╛ рдпрд╛рдкреНрд░рдорд╛рдгреЗ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣реВ рд╢рдХрддрд╛:
x -> x + 1
рджреЛрдиреНрд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╡рд┐рдзрд╛рдирд╛рд╕рд╣ рдкреЕрд░рд╛рдореАрдЯрд░ рдЖрдгрд┐ рдореЗрдердб рдмреЙрдбреАрднреЛрд╡рддреА рдХрдВрд╕ рд╡рдЧрд│рддреЛ return, рдХрд╛рд░рдг рддреЗ рдкрд░реНрдпрд╛рдпреА рдЖрд╣реЗрдд. рдХрдВрд╕ рдЖрдгрд┐ рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯрд╕рд╣ рдЖрд╡реГрддреНрддреНрдпрд╛ рдЙрджрд╛рд╣рд░рдг 6 рдордзреНрдпреЗ рджрд┐рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдг 8
(x, y) -> x % y
рджреНрд╡рд╛рд░реЗ рднрд╛рдЧрд╛рдХрд╛рд░рд╛рдЪрд╛ рдЙрд░реНрд╡рд░рд┐рдд рднрд╛рдЧ рдЖрдореНрд╣реА рдШреЗрддреЛ xрдЖрдгрд┐ рдкрд░рдд рдХрд░рддреЛ . рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рдЖрд╕рдкрд╛рд╕рдЪреЗ рдХрдВрд╕ рдпреЗрдереЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд. рдЬреЗрд╡реНрд╣рд╛ рдлрдХреНрдд рдПрдХ рдкреЕрд░рд╛рдореАрдЯрд░ рдЕрд╕рддреЛ рддреЗрд╡реНрд╣рд╛рдЪ рддреЗ рдкрд░реНрдпрд╛рдпреА рдЕрд╕рддрд╛рдд. рдпреЗрдереЗ рддреЗ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрддрд╛рд╕рд╣ рдЖрд╣реЗ: yxy
(double x, int y) -> x % y
рдЙрджрд╛рд╣рд░рдг реп
(Cat cat, String name, int age) -> {
    cat.setName(name);
    cat.setAge(age);
}
рдЖрдкрдг рдПрдЦрд╛рджреА Catрд╡рд╕реНрддреВ, Stringрдирд╛рд╡ рдЖрдгрд┐ рдкреВрд░реНрдг рд╡рдп рдШреЗрддреЛ. рдкрджреНрдзрддреАрдордзреНрдпреЗрдЪ, рдЖрдореНрд╣реА рдорд╛рдВрдЬрд░реАрд╡рд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрддреНрддреАрд░реНрдг рдЭрд╛рд▓реЗрд▓реЗ рдирд╛рд╡ рдЖрдгрд┐ рд╡рдп рд╡рд╛рдкрд░рддреЛ. catрдЖрдордЪрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣рд╛ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░ рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ , рддреЛ lambda рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдмрджрд▓рд▓рд╛ рдЬрд╛рдИрд▓ (рддреНрдпрд╛рд▓рд╛ рдЙрддреНрддреАрд░реНрдг рдЭрд╛рд▓реЗрд▓реЗ рдирд╛рд╡ рдЖрдгрд┐ рд╡рдп рдорд┐рд│реЗрд▓). рдпреЗрдереЗ рдПрдХ рдереЛрдбреА рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ рдЬреА рд╕рдорд╛рди рд▓реЕрдореНрдмрдбрд╛ рд╡рд╛рдкрд░рддреЗ:
public class Main {

    public static void main(String[] args) {
        // Create a cat and display it to confirm that it is "empty"
        Cat myCat = new Cat();
        System.out.println(myCat);

        // Create a lambda
        Settable<Cat> s = (obj, name, age) -> {
            obj.setName(name);
            obj.setAge(age);

        };

        // Call a method to which we pass the cat and lambda
        changeEntity(myCat, s);

        // Display the cat on the screen and see that its state has changed (it has a name and age)
        System.out.println(myCat);

    }

    private static <T extends HasNameAndAge>  void changeEntity(T entity, Settable<T> s) {
        s.set(entity, "Smokey", 3);
    }
}

interface HasNameAndAge {
    void setName(String name);
    void setAge(int age);
}

interface Settable<C extends HasNameAndAge> {
    void set(C entity, String name, int age);
}

class Cat implements HasNameAndAge {
    private String name;
    private int age;

    @Override
    public void setName(String name) {
        this.name = name;
    }

    @Override
    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Cat{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
рдкрд░рд┐рдгрд╛рдо:
Cat{name='null', age=0}
Cat{name='Smokey', age=3}
рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛, CatрдСрдмреНрдЬреЗрдХреНрдЯрдЪреА рдПрдХ рдЕрд╡рд╕реНрдерд╛ рд╣реЛрддреА рдЖрдгрд┐ рдирдВрддрд░ рдЖрдореНрд╣реА lambda рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░рд▓реНрдпрд╛рдирдВрддрд░ рд╕реНрдерд┐рддреА рдмрджрд▓рд▓реА. рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЬреЗрдиреЗрд░рд┐рдХрд╕рд╣ рдЙрддреНрддрдо рдкреНрд░рдХрд╛рд░реЗ рдПрдХрддреНрд░ рд╣реЛрддрд╛рдд. DogрдЖрдгрд┐ рдЬрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕реБрджреНрдзрд╛ рд▓рд╛рдЧреВ рдХрд░рдгрд╛рд░рд╛ рд╡рд░реНрдЧ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓ , рддрд░ рдЖрдкрдг тАпlambda рдЕрднрд┐рд╡реНрдпрдХреНрддреА рди рдмрджрд▓рддрд╛ рдкрджреНрдзрддреАрдордзреНрдпреЗ рд╕рдорд╛рди HasNameAndAgeрдХреНрд░рд┐рдпрд╛ рдХрд░реВ рд╢рдХрддреЛ . рдХрд╛рд░реНрдп 3. рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрд╢рд╛ рдкрджреНрдзрддреАрд╕рд╣ рд▓рд┐рд╣рд╛ рдЬреА рд╕рдВрдЦреНрдпрд╛ рдШреЗрддреЗ рдЖрдгрд┐ рдмреБрд▓рд┐рдпрди рдореВрд▓реНрдп рдкрд░рдд рдХрд░рддреЗ. рдЕрд╢рд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдореНрд╣рдгреВрди рд▓рд┐рд╣рд╛ рдЬреА рдЙрддреНрддреАрд░реНрдг рд╕рдВрдЦреНрдпрд╛ 13 рдиреЗ рднрд╛рдЧрд▓реНрдпрд╛рд╕ рд╕рддреНрдп рдорд┐рд│рд╡рддреЗ. рдХрд╛рд░реНрдп 4.Dogmain()рдлрдВрдХреНрд╢рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрд╢рд╛ рдкрджреНрдзрддреАрд╕рд╣ рд▓рд┐рд╣рд╛ рдЬреА рджреЛрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдШреЗрддреЗ рдЖрдгрд┐ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрдЦреАрд▓ рджреЗрддреЗ. рд▓реЕрдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рд╛рд░рдЦреНрдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд▓рд┐рд╣рд╛ рдЬреА рд▓рд╛рдВрдмрд▓рдЪрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд│рд╡рддреЗ. рдХрд╛рд░реНрдп 5. рддреАрди рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛: a, b, рдЖрдгрд┐ c рдЖрдгрд┐ рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдХреНрд░рдорд╛рдВрдХ рдорд┐рд│рд╡рд┐рдгрд╛рд▒реНрдпрд╛ рдкрджреНрдзрддреАрд╕рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд┐рд╣рд╛. рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдореНрд╣рдгреВрди рдЕрд╢рд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд▓рд┐рд╣рд╛ рдЬреА рднреЗрджрднрд╛рд╡ рдкрд░рдд рдХрд░рддреЗ. рдЬрд░ рддреБрдореНрд╣реА рд╡рд┐рд╕рд░рд▓рд╛рдд рддрд░ рддреЗ рдЖрд╣реЗ D = b^2 тАФ 4ac. рдЯрд╛рд╕реНрдХ 6. рдЯрд╛рд╕реНрдХ 5 рдордзреАрд▓ рдлрдВрдХреНрд╢рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░реВрди, рдПрдХ рд▓реЕрдореНрдмрдбрд╛ рдПрдХреНрд╕реНрдкреНрд░реЗрд╢рди рд▓рд┐рд╣рд╛ рдЬреЗ рдЪреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд│рд╡рддреЗ a * b^c. рдЬрд╛рд╡рд╛ рдордзреАрд▓ рд▓реЕрдореНрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг. рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣. рднрд╛рдЧ 2
рдЯрд┐рдкреНрдкрдгреНрдпрд╛
  • рд▓реЛрдХрдкреНрд░рд┐рдп
  • рдирд╡реАрди
  • рдЬреБрдиреЗ
рдЯрд┐рдкреНрдкрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╕рд╛рдИрди рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдпрд╛ рдкрд╛рдирд╛рд╡рд░ рдЕрдЬреВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдирд╛рд╣реАрдд