
рддреЛ рдЬрд╛рд╡рд╛ 8 рд░рд┐рд▓реАрдЬ рд╣реБрдЖред рдХрд┐рд╕реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдкреНрд░реА-рд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдорд╛рд░реНрдЪ рддрдХ рдХреЗ рд╣рдлреНрддреЛрдВ рдХреА рдЧрд┐рдирддреА рдХреА, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдЬреЗрдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЖрдИрдбреА рдерд╛ рдЬреЛ рд╣реЛрдо рдЖрдИрдбреАрдИ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдПрдХ-рджреЛ рдмрд╛рд░ рдЦреЗрд▓рдиреЗ рдХрд╛ рдерд╛ред (рднрд╛рд╖рд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ), рдХрд┐рд╕реА рдХреЛ рд╕рд┐рд░реНрдл рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЙрдирдХреЗ рдкрд╛рд╕ "рд╕рд╛рдд" рдХреА рдкрд░реНрдпрд╛рдкреНрдд рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдлрд┐рд░ рднреА, рдЖрдард╡рд╛рдВ рдЬрд╛рд╡рд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд▓рд╛рдпрдХ рдерд╛ - рдФрд░ рди рдХреЗрд╡рд▓ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдХреБрдЫ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдкрд░ рднреА рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рднрд╛рд╖рд╛ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдкреНрд░рдХрдЯ рд╣реЛред рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рд░реЛрд╢рдиреА рдореЗрдВ, рдФрд░ рднреА рд╕реБрдВрджрд░ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рд╕реЗ рдкреНрд░рд╕рдиреНрдиред рдФрд░ рдЕрдЧрд░ рд╣рдо Java 8 рдХреЗ рдирдП рдлреАрдЪрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдЬреАрдм рд╣реЛрдЧрд╛ рдХрд┐ рд▓реИрдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рди рдХрд░реЗрдВред
рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдУрд░реЗрдХрд▓ рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдХреЗ рддреЗрдЬреА рд╕реЗ рдпрд╛ рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рд╡рд┐рдХрд╛рд╕ рдХреЛ "рджреЛрд╖" рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ - рдЬрдмрдХрд┐ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдореЗрдВ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рд▓рдЧрднрдЧ рд╣рд░ рд╕рд╛рд▓ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛, рдЬрд╛рд╡рд╛ рдиреЗ рдзреАрд░реЗ-рдзреАрд░реЗ рдХреАрдбрд╝реЗ рддрдп рдХрд┐рдП рдФрд░ рдХреБрдЫ рджреЗрд░реА рдХреЗ рд╕рд╛рде, рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд┐рдпрд╛ред рддреЛ рдпрд╣ рд▓рдВрдмреЛрджрд░ рднрд╛рд╡ рдХреЗ рд╕рд╛рде рд╣реБрдЖред рд╕рд╛рддрд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдлрд╡рд╛рд╣реЗрдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдмрдврд╝реА, рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ "рдмреИрд╕рд╛рдЦреА" рд▓рд┐рдЦреА рдЧрдИ рдереА рдЬреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреА рдереА, рдлрд┐рд░ рдХрдИ рдиреЗ рд╕реНрдХреИрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрдж рдХреЛ "рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛" рдкрд╛рдпрд╛ рдФрд░ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╢рд╛рдВрдд рдХрд┐рдпрд╛, рдлрд┐рд░ рдЬрд╛рд╡рд╛ 8 рдПрдХ рджреЛ рдмрд╛рд░ред рд╕реНрдердЧрд┐рдд - рдФрд░ рдЕрдм, рдЕрдВрдд рдореЗрдВ, рд╕рднреА рдХреЛ рд▓рдВрдмреЛрджрд░ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдорд┐рд▓рдиреЗ рд▓рдЧрд╛ред
рдлрд┐рд░ рднреА, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рд╖рдп рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реБрдЪрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХрдИ рдЕрднреА рднреА рдХрд╛рдлреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╣реИ, рдЬреЛ рдЕрдиреНрдп рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдХреА рдКрдБрдЪреА рдПрдбрд╝реА рдХреЗ рдЬреВрддреЗ рдкрд░ рдХрджрдо рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢реНрди рдХрдо рд╕реЗ рдХрдо рдПрдХ рдареЛрд╕ рд▓реЗрдЦ (рдмрд▓реНрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдкреБрд╕реНрддрдХ) рдХреЗ рдпреЛрдЧреНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓реИрдВрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдпрд╣ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ рдХреЛ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рдереА (рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╡реЗ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдереЗ рдпрд╛ рдЙрдирдХреА рд╕рд░рд╛рд╣рдирд╛ рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ), рдмрд┐рдирд╛ рдмреНрд▓реЛрдЯрд┐рдВрдЧ рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдХреАрдордд рдкрд░ рдЙрд╕реЗ рдФрд░ рдЗрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛ рдХреЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреА рд╢рд░реНрддреЛрдВ рд╕реЗ рдирд╣реАрдВ рдбрд░рд╛рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рд╣реИ, рддреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рд╣рд░ рдХреЛрдИ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЬрд╛рд╡рд╛ рдХреЛ рдЕрдкрдиреЗ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреБрдЫ рд╡рд░реНрдЬрди рдкрд╣рд▓реЗ рд╕реАрдЦрд╛ рдерд╛ (рд▓реИрдореНрдмрдЬрд╛рдЬ рдХреА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ "рдмреИрд╕рд╛рдЦреА"), рд╢рд╛рдпрдж рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред
рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦреЗрдВ
рдпрд╣ рд╢рд╛рдпрдж рд╕рд░рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪрдХреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); for (int number : numbers) { System.out.println(number); }
рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рд╢рд╛рдпрдж рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрдХреНрд░ рд▓рд┐рдЦреЗ рдереЗ - рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдпрд╛ рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ? рдПрдХ рдкрд╛рд╢ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рд╣рдо рд╕рднреА рдЙрддреНрддрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ - рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж рдирдВрдмрд░ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рд╣реИ рдирд╛? рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рддрд░рдл рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдПрдХ рддреБрд▓рдирд╛ рдЖрддреА рд╣реИ рдЬреЛ рдПрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдлрд░реНрд╢ рдкрд░ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд▓реЗрдЧреЛ рдбрд┐рдЬрд╛рдЗрдирд░ рд╕реЗ рднрд╛рдЧреЛрдВ рдХреЛ рдвреЗрд░ рдХрд░рддрд╛ рд╣реИ - рдЙрд╕рдХрд╛ рдЪрдХреНрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣ рдПрдХ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЕрдиреНрдп рднрд╛рдЧ рдлрд░реНрд╢ рдкрд░ рдмрдЪреЗ рд╣реИрдВ (рдЙрдирдореЗрдВ рд╕реЗ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ), рдЕрдЧрд▓реЗ рднрд╛рдЧ рдХреЛ рдмреЙрдХреНрд╕ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рднрд╛рдЧ рдмрдЪрд╛ рд╣реИ, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд░рдЦрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд╡рд┐рд╡рд░рдг рд▓реЗрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдкрдХрдбрд╝ рдФрд░ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ?
рдЖрдЗрдП рдкреБрд░рд╛рдиреА рдЖрджрддреЛрдВ рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рд▓рдВрдмреЛрджрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рд╡рд╣реА рдХреЛрдб рдЬрд╛рд╡рд╛ 8 рдореЗрдВ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
numbers.forEach((Integer value) -> System.out.println(value));
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: "рдПрд░реЛ" (->) рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рджрд╛рдИрдВ рдУрд░ рдХрд╛ рднрд╛рдЧ - рдЗрд╕рдХрд╛ "рдмреЙрдбреА" рд╣реЛрддрд╛ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓рдВрдмреЛрджрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЛрдб рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ:
numbers.forEach(value -> System.out.println(value));
рд▓реЗрдХрд┐рди рдпрд╣ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ - рдЖрдк :: рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
numbers.forEach(System.out::println);
рдореБрдЭреЗ рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдХрд╛рдо рдореЗрдВ "рдкреБрд░рд╛рдиреЗ рдврдВрдЧ рд╕реЗ" рд╕рд╛рдЗрдХрд┐рд▓ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдорди рдирд╣реАрдВ рд╣реИред
рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдпрд╛ рдЕрдореВрд░реНрддрддрд╛? рдЖрдк рдЪреБрдиреЗрдВ!
рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЙрддрдирд╛ рд╢реЛрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдкрд░ рдХрдИ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдмрд┐рдВрджреБ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдореВрд░реНрдд рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╣реИред рдЖрдЗрдП рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
рд╕реВрдЪреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП (рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдпрд╛ рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ) рдХрд┐рд╕реА рдХреЛ рдПрдХ рд╡рд┐рдзрд┐ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдпреЛрдЧ рдвреВрдБрдврддреА рд╣реИ (рдПрд╣, рдЕрдЧрд░ рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рдереЗ!)
public int sumAll(List<Integer> numbers) { int total = 0; for (int number : numbers) { total += number; } return total; }
рдмрд╕? рдмреЗрд╢рдХред рдЦреИрд░, рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП, рдХреБрдЫ рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдФрд░ рд╡рд┐рдзрд┐ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ 10 рд╡реАрдВ рдХрдХреНрд╖рд╛ рдХреЗ рд╕реНрддрд░ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп рд╣реИ, рд╣реИ рдирд╛?
public int sumAllEven(List<Integer> numbers) { int total = 0; for (int number : numbers) { if (number % 2 == 0) { total += number; } } return total; }
рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдФрд░ рдПрдХ рджрд┐рди рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рдФрд░ рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ 3 рд╕реЗ рдЕрдзрд┐рдХ рдкрд╛рдПред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЛрдЪреЗрдВрдЧреЗ, рд╡рд╣ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реА рдкрджреНрдзрддрд┐ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛, рдЕрдЪреНрдЫреА рдкреБрд░рд╛рдиреА рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдирд╛ред рдорд╣рд╛рди, рдХреЛрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ... рдХреНрдпрд╛ рдпрд╣ рд╕рдмрд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ? рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдирдП рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдФрд░ рдХрд▓ рд╣рдореЗрдВ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рд╡рд┐рд╖рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, 2 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛, 5 рд╕реЗ рдХрдо рдФрд░ рдЗрддрдиреЗ рдкрд░ рдЧрд┐рдирд╛ рдЬрд╛рдПред рдирддреАрдЬрддрди, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реНрдХреВрд▓-рд╕реНрддрд░реАрдп рдкрд╣реЗрд▓рд┐рдпрд╛рдБ рдХреЛрдб рдХреЗ рдкреВрд░реЗ "рд╢реАрдЯ" рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреАред рдХреНрдпрд╛ 2014 рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕рд░рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реИ?
рдЕрдЧрд░ рд╡рд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рддреЛ рдпрд╣ рдЕрдЬреАрдм рд╣реЛрддрд╛ред рд╣рдо рдЬрд╛рд╡рд╛ 8 рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ - рдкреНрд░реЗрдбрд┐рдХреЗрдЯреЗрдЯ рдлрдВрдХреНрд╢рдирд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕рдореЗрдЯрдиреЗ
рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рд╕рдВрдЦреНрдпрд╛
рдХреЛ рдХреИрд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред
public int sumAll(List<Integer> numbers, Predicate<Integer> p) { int total = 0; for (int number : numbers) { if (p.test(number)) { total += number; } } return total; }
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдмрд╣реБрдд рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдо рдХреЗрд╡рд▓ 3 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдлрд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
sumAll(numbers, n -> true); sumAll(numbers, n -> n % 2 == 0); sumAll(numbers, n -> n > 3);
рд╕реМрдВрджрд░реНрдп рд╡рд╣реА рд╣реИ! рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рджреЛ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдмрд┐рдирд╛ рдЖрд▓рд╕реА рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реБрдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рд▓реНрдбреНрд╕ рдореЗрдВ рдХрдЯреМрддреА рдХреЗ рдмрд┐рдирд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдирдИ рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдореЗрдВ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рдерд╛, рдмрд┐рдирд╛ рдЗрд╕ рдордВрдЪ рдкрд░ рдкрд╛рдардХ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдПрдлрдкреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдкреВрд░реА рдЧрд╣рд░рд╛рдИред
рдпрджрд┐ рдпреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХрд┐рд╕реА рдХреЛ рд╡рд┐рд╖рдп рдкрд░ рдХрд┐рддрд╛рдмреЗрдВ рдФрд░ рдмреНрд▓реЙрдЧ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЬрд╝реЗрди рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ (рдкрде, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдРрд╕реА рд╕реБрдВрджрд░рддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд▓рд┐рджрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ), рддреЛ рдпрд╣ рдмрд╣реБрдд рд╣реЛрдЧрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ - рдЖрдк рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рджреЛрдиреЛрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд░реНрде рдирд╣реАрдВ рдерд╛ рдЬреЛ рдЙрд╕рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рд░рд╛рд╕реНрддреЗ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЕрдВрддрддрдГ рдЕрдзрд┐рдХ рд╕рдлрд▓ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗрдВрдЧреЗ рдЬреЛ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ
рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЕрджреНрдпрддрди: рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд▓рд┐рдВрдХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рдереАред
winterbe.com/posts/2014/03/16/java-8-tutorial - рдЬрд╛рд╡рд╛ 8 рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдкрд░ рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред
java.dzone.com/articles/why-we-need-lambda-expressions - рдЬрд╛рд╡рд╛ рдореЗрдВ рдХрдИ рднрд╛рдЧреЛрдВ рдореЗрдВ рд▓реИрдореНрдмреНрдбрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
docs.oracle.com/javase/tutorial/collections/streams/reduction.html -
рдШрдЯрд╛рдПрдБ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (рдкреЛрд╕реНрдЯ рд╕реЗ рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ)ред