рд╣рд╛рдп рд╣рдмреНрд░!
рдореИрдВ EPAM рдореЗрдВ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реВрдБред 8 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдореИрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦреА рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реВрдВ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдФрд░ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдИрдкреАрдПрдПрдо рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реБрдИ рдереА, рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ рдЖрдкрдХреЛ рдЬрд╡рд╛рдм рдорд┐рд▓реЗрдЧрд╛ рдХреНрдпреЛрдВ)ред рдЕрдХреНрд╕рд░ рдХрд╛рдо рдореЗрдВ рдореИрдВ рдПрдХ рд╣реА рджреЛрд╣рд░рд╛рдпрд╛ рджреЛрд╖реЛрдВ рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рдиреЛрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдореИрдВ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рд╣реЗрд▓реНрдкрд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ
рд╕рдВрдЧреНрд░рд╣ рдФрд░
рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдХреБрдЫ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡реНрдпрд░реНрде рдореЗрдВ
рдПрдХ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдХреНрд╕рд░ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдПрд░реЗрдЬрд╝,
рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдареЛрдХрд░ рдЦрд╛ рд╕рдХрддреА рд╣реИрдВред
рдпрд╣ рдиреЛрдЯ рдЙрди рджреЛрдиреЛрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдЗрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред
Unsplash рдкрд░ ammiel jr рджреНрд╡рд╛рд░рд╛ рдлреЛрдЯреЛрдХреИрдЯ
рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдЬрд╛рд╡рд╛ 8 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рд╡рд╛ 9+ рдореЗрдВ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░ рдЪреБрдХреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдХреНрд╕рд░ рдЬрд╛рд╡рд╛ 8 (рдФрд░ рдХрднреА-рдХрднреА рдЬрд╛рд╡рд╛ 6) рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред
рд╕рд░рдгреА-рдЖрдзрд╛рд░рд┐рдд рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
рдореИрдВ рдПрдХ рд╕рд░рдгреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЧрдарди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдпрд╣ рд╡рд┐рдзрд┐ рд╣реЛрддреА рд╣реИ:
Integer[] someArray = {9, 10, 11, 12}; List<Integer> list = Arrays.asList(someArray);
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ? рдФрд░ рдХреНрдпрд╛ рдХреЛрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрд╛рдп рд╣реИрдВ?
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рджреЛ рдордВрддреНрд░ рдПрдХ рд╕рд╛рде рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ:
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Arrays.asList рд╡рд┐рдзрд┐ рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ? Arrays.asList рдЗрд╕реЗ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред
- рджреВрд╕рд░реЗ, Arrays.asList рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рд╕реВрдЪреА рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдХрдИ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рд╣реБрдП рд╣реИрдВред
рд╕рдВрдЧреНрд░рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░, рдЖрдк
Arrays.asList рдкрджреНрдзрддрд┐ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ -
Collections.addAll рд╡рд┐рдзрд┐ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:
рдпрд╛ рдмрд╕:
Collections.addAll(collection, 11, 12, 13, 14);
Collections.addAll рд╡рд┐рдзрд┐ рдЗрдирдкреБрдЯ рдкрд░ рдПрдХ
рд╕рдВрдЧреНрд░рд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдПрдХ рд╕рд░рдгреА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИред рдПрдХ рд╕рд░рдгреА рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Arrays.asList рдкрд░
Collections.addAll рдХреЗ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИрдВ?
- рдХрд▓реЗрдХреНрд╢рди.рдбреИрдб рдПрд░реЗ рд╕рд░рдгреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд▓реЗрдХреНрд╢рди рдмрдирд╛рддреЗ рд╕рдордп рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ Arrays.asList рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрд▓реЗрдХреНрд╢рди рдХреЗ рдРрдбрдСрд▓ рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░реАрдХреЗ рдХреЗ JavaDoc рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрджреНрдзрддрд┐ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ c.addAll (Arrays.asList (рдПрд▓рд┐рдореЗрдВрдЯреНрд╕)) рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рддрд╣рдд рдХрд╛рдлреА рддреЗрдЬ рдЪрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ
- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Collections.addAll рди рдХреЗрд╡рд▓ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдФрд░ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд┐рд╕реА рд╕рд░рдгреА, рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгреА, рдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
рдЪрд▓реЛ рдПрдХ рд╕рд░рдгреА рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдореБрджреНрд░рд┐рдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рдЕрдЧрд░ рд╣рдо рд╕рд┐рд░реНрдл
System.out.println (someArray) рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:
[Ljava.lang.Integer; @ 6d06d69cрдПрдХ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рд░рдгреА рдкрд░
toString () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред
рд╕рд░рдгреА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
Arrays.toString (...) рд╡рд┐рдзрд┐
рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрддреА рд╣реИред
Integer[] someArray = new Integer[]{1, 2, 3}; System.out.println(Arrays.toString(someArray));
рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧрд╛:
[рез, реи, рей]
рдЕрдЧрд░ рд╣рдо рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Arrays.deeptoString ред
int[][] a = { {1, 2, 3}, {4, 5, 6} }; System.out.println(Arrays.deepToString(a));
рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╣реЛрдЧрд╛:
[[рез, реи, рей], [рек, рел, рем]]
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдкрдиреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ; рдпрд╣ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд░рдгреА рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
Collection<Integer> someCollection = new HashSet<>(); someCollection.add(1); someCollection.add(2); System.out.println(someCollection); Map<Integer, String> someMap = new HashMap<>(); someMap.put(1, "Some 1"); someMap.put(2, "Some 2"); System.out.println(someMap);
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реЗрдЯ рдФрд░
рдореИрдк рджреЛрдиреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
[рез, реи]
{1 = рдХреБрдЫ 1, 2 = рдХреБрдЫ 2}
рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ?
рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдПрд░реЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рддреБрд▓рдирд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
Arrays.equals рд╡рд┐рдзрд┐ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреА рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рддрддреНрд╡реЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ
рддрддреНрд╡ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдХреБрдЫ рд╕рдорд╛рди рд╣реИрдВ
private class Element { final String name; private Element(String name) { this.name = name; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Element element = (Element) o; return Objects.equals(name, element.name); } @Override public int hashCode() { return Objects.hash(name); } }
рддреАрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:
Element[] firstElementArray = { new Element("a"), new Element("b"), new Element("c") }; Element[] secondElementArray = {new Element("c"), new Element("b"), new Element("a") }; Element[] thirdElementArray = { new Element("a"), new Element("b"), new Element("c") };
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рдФрд░ рддреАрд╕рд░реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдХреНрд░рдо рдореЗрдВ рддрддреНрд╡ рд╣реИрдВред
рдЕрдм рдЖрдк
Arrays.equals рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
System.out.println("first equals to second? " + Arrays.equals(firstElementArray, secondElementArray)); System.out.println("second equals to third? " + Arrays.equals(secondElementArray, thirdElementArray)); System.out.println("first equals to third? " + Arrays.equals(firstElementArray, thirdElementArray));
рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
рдкрд╣рд▓реЗ рджреВрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ? рдЭреВрдард╛
рддреАрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рджреВрд╕рд░реА? рдЭреВрдард╛
рдкрд╣рд▓реЗ рддреАрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ? рд╕рдЪ
рдХрд┐рд╕реА рд╕рд░рдгреА рдХреА рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдирдХрд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдЕрдХреНрд╕рд░ рдЖрдк рдХреЛрдб рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ
System.arraycopy рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХреЙрдкреА рд╣реЛрдЧреАред
рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:
Element[] elements = { new Element("a"), new Element("b"), new Element("c") }; Element[] copyOfElements = new Element[elements.length]; System.arraycopy(elements, 0, copyOfElements, 0, elements.length); System.out.println(Arrays.toString(copyOfElements));
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИред рд╣рдо рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рдХрд╛ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рджреВрд╕рд░реЗ рддрдХ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
[рддрддреНрд╡ {рдирд╛рдо = 'рдП тАЩ}, рддрддреНрд╡ {рдирд╛рдо =} рдмреАтАЩ}, рддрддреНрд╡ {рдирд╛рдо =' рд╕реА тАЩ}]
рдХрд┐рд╕реА рд╕рд░рдгреА рдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдХреИрд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВ?
Arrays.sort (someArray) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдПрд░рд░реНрд╕ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд░рдгреА рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ
Collections.reverseOrder () рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдРрд╕рд╛ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕реАрдзреЗ рдФрд░ рдлрд┐рд░ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ:
String[] someArray = new String[]{"b", "a", "c"}; Arrays.sort(someArray); System.out.println(Arrays.toString(someArray)); Arrays.sort(someArray, Collections.reverseOrder()); System.out.println(Arrays.toString(someArray));
рдирд┐рд╖реНрдХрд░реНрд╖ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
[рдП, рдмреА, рд╕реА]
[рд╕реА, рдмреА, рдП]
рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдорд╛рдорд▓реЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣
Arrays.sort рдХреЗ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ
String.CASE_INSENSITIVE_ORDER рдкрд╛рд╕ рдХрд░рдХреЗ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд╕рдВрдЧреНрд░рд╣.рд╕реЙрд░реНрдЯ , рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗрд╡рд▓
рд╕реВрдЪреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд╛рд╡рд╛ рдХреА рддрд░рд╣ рд╣реИ?
рдЬрд╛рд╡рд╛ рдореЗрдВ рдЫрдВрдЯрдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╕рдордп рдЕрдВрддрд┐рдо рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ "рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП "рд╕реНрдерд┐рд░ рдорд░реНрдЬ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЫрдБрдЯрд╛рдИ рд╡рд┐рдзрд┐ рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдпрд╣ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рдгреА рд╣реИ рдФрд░ рд╡рд┐рдзрд┐ Iterable рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ?
рдореИрдВ рдЕрдм рдРрд╕реЗ рдкреНрд░рд╢реНрди рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдХреЛ рдПрдХ рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ
Iterable рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
рд╣реЛрддреА рд╣реИ ред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛
рджреВрдВ рдХрд┐
Iterable рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ
рдЗрдЯреНрд░реЗрдЯрд░ () рд╡рд┐рдзрд┐ рд╣реИ, рдЬрд┐рд╕реЗ Iterator рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдХреЛрдИ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЗрдирдкреБрдЯ рдкрд░ Iterable рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ, рддреЛ рд╕рд░рдгреА рдХреЛ рдЙрд╕ рддрд░рд╣ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдЖрдк рд▓реВрдк рдХреЗ
рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣
Iterable рдирд╣реАрдВ рд╣реИред
String[] someArray = new String[]{"a", "b", "c"}; for (String currentString : someArray) { ... }
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рд╡рд┐рдзрд┐ рд╣реИ:
private static void someIteration(Iterable<String> iterable) { ... }
рд╡рд╣ рдкрдВрдХреНрддрд┐ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА:
someIteration(someArray);
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╕рд░рдгреА рдХреЛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдЦрд┐рд▓рд╛рдирд╛ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕рдВрдЧреНрд░рд╣ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдкрдврд╝рдиреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рдЙрдкрдХрд░рдг рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдХрд╛рдо рдореЗрдВ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рд╕реНрд╡рдпрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдмреНрд░реВрд╕ рдПрдХреЗрд▓ рдХреА рдкреБрд╕реНрддрдХ "рдЬрд╛рд╡рд╛ рджрд░реНрд╢рди" (4 рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг) рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдм рдЬрд╛рд╡рд╛ 7, рдЬрд╛рд╡рд╛ 8 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдкрд░ рдирд╣реАрдВ рдЦреЗрд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЬрд╛рд╡рд╛ 6 рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдЖрдЬ рднреА рдХрд╛рдлреА рд╣рдж рддрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред
рдмреЗрд╢рдХ, "рдЬрд╛рд╡рд╛ рджрд░реНрд╢рди" рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрди рдкреБрд╕реНрддрдХреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛:
- ┬лрдЬрд╛рд╡рд╛ред рдкреНрд░рднрд╛рд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, тАЬрдпрд╣реЛрд╢реВ рдмрд▓реЛрдЪред
- "рдкреБрдирд░реНрд░рдЪрдирд╛ред рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рд╕реБрдзрд╛рд░, "рдорд╛рд░реНрдЯрд┐рди рдлрд╛рдЙрд▓рд░ред
- тАЬрд╕рд╛рдл рдХреЛрдбред рдирд┐рд░реНрдорд╛рдг, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ refactoring тАЭ, рд░реЙрдмрд░реНрдЯ рдорд╛рд░реНрдЯрд┐рдиред
- рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд┐рдВрдЧ 5, рдЬреВрд▓рд┐рдпрди рдХреЛрдЬрд╝рдорд┐рди рдФрд░ рдЕрдиреНрдпред
- "рдЯреЗрд╕реНрдЯ-рдкреНрд░реЗрд░рд┐рдд рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ", рд╡рд┐рдХреНрдЯрд░ рдлрд╛рд░рд╕рд┐рдХ, рдПрд▓реЗрдХреНрд╕ рдЧрд╛рд░реНрд╕рд┐рдпрд╛ (рдЕрднреА рддрдХ рд░реВрд╕реА рдореЗрдВ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ?
рдпрджрд┐ рдЖрдк рдРрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдП рд╣реИрдВ рдЬреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкреВрд░рдХ рдХрд╛ рдкреВрд░рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рднреА рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рдФрд░ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рд╡рд┐рд░рд╛рд╕рдд рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рдореБрдЦ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╡рд┐рд░рд╛рд╕рдд рд╣реИрдВред рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдорд╣рддреНрд╡ рдХреЛ рдХрдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдФрд░ рдмрдЧ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рд╕реЗ рдЬреАрдд рдХреА рднрд╛рд╡рдирд╛, рдЬрд┐рд╕рдиреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рд┐рдпрд╛, рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЕрдВрдд рдореЗрдВ рднрд╛рд╡рдирд╛рдУрдВ рд╕реЗ рд╣реАрди рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдкреНрд░рд╕реНрддреБрдд рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рд╕рднреА рд╕рдлрд▓рддрд╛!