CodeGym/рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо/All lectures for MR purposes/Java рдордзреНрдпреЗ рдкреЕрд░рд╛рдореАрдЯрд░рд╛рдЗрдЬреНрдб рдкреНрд░рдХрд╛рд░: рдЬреЗрдиреЗрд░рд┐рдХреНрд╕

Java рдордзреНрдпреЗ рдкреЕрд░рд╛рдореАрдЯрд░рд╛рдЗрдЬреНрдб рдкреНрд░рдХрд╛рд░: рдЬреЗрдиреЗрд░рд┐рдХреНрд╕

рдЙрдкрд▓рдмреНрдз

1. рд╕рд░реНрд╡ рд╡рд░реНрдЧ рд╡рд╛рд░рд╕рд╛ рдШреЗрддрд╛рддObject

рдЬрд╛рд╡рд╛ рдордзреАрд▓ рд╕рд░реНрд╡ рд╡рд░реНрдЧрд╛рдВрдирд╛ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ Objectрд╡рд░реНрдЧрд╛рдЪрд╛ рд╡рд╛рд░рд╕рд╛ рдорд┐рд│рддреЛ.

рдЖрдореНтАНрд╣реА рдЬрд╛рд╡рд╛ рдХреЛрдЕрд░ рдХреНрд╡реЗрд╕реНрдЯрдордзреНтАНрдпреЗ рд╡рд╛рд░рд╕рд╛ рдХрд╛рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ Java рдордзреНтАНрдпреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреЗ рд╡рд┐рд╢реНтАНрд▓реЗрд╖рдг рдХрд░реВ. рдЖрддреНрддрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдпрд╛рд╡рд░реВрди рдЦрд╛рд▓реАрд▓ рдПрдХрд╛ рд╕рд╛рдзреНрдпрд╛ рддрдереНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ:

рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд░реНрдЧрд╛рддреАрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ Object. рдЙрджрд╛рд╣рд░рдг:

рдХреЛрдб рдиреЛрдВрдж
Object o = new Scanner(System.in);
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ oрд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗScanner
Object o = new String();
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ oрд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗString
Object o = new Integer(15);
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ oрд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗInteger
Object o = "Hello";
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ oрд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗString

рдЗрдереЗрдЪ рдЪрд╛рдВрдЧрд▓реА рдмрд╛рддрдореА рд╕рдВрдкрддреЗ. рдХрдВрдкрд╛рдпрд▓рд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрдЪреНрдпрд╛ рдореВрд│ рдкреНрд░рдХрд╛рд░рд╛рдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рдд рдирд╛рд╣реА Object, рддреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣реА рдХреНрд▓рд╛рд╕рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрд╡рд░ рдореЗрдердб рдХреЙрд▓ рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА .Object

рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯрдЪреНрдпрд╛ рдореВрд│ рдкреНрд░рдХрд╛рд░рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкрджреНрдзрддреАрдВрдирд╛ рдХреЙрд▓ рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдердо рддреНрдпрд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рдпреЛрдЧреНрдп рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рдирдВрддрд░ рддреНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рд╡рд░реАрд▓ рдкрджреНрдзрддреАрдВрдирд╛ рдХреЙрд▓ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓:

рдХреЛрдб рдиреЛрдВрдж
Object o = new Scanner(System.in);
int x = o.nextInt();
рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА. рд╡рд░реНрдЧрд╛рд▓рд╛ рдкрджреНрдзрдд Objectрдирд╛рд╣реА nextInt().
Object o = new Scanner(System.in);

Scanner console = (Scanner) o;

int x = console.nextInt();
рд╣реЗ рдЪрд╛рд▓реЗрд▓. рдпреЗрдереЗ рдЖрдкрдг рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░реВрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛

рд╕рдВрджрд░реНрдн рд╕реЗрд╡реНрд╣ рдХрд░рддреЛ . ScannerScanner

рддреБрдореНрд╣реА рдлрдХреНрдд рдЬрд╛рдКрди Objectрд╕реНрдХреЕрдирд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рд▓рд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдирд┐рдпреБрдХреНрдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдЬрд░реА Objectрд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдиреЗ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЕрд╕рд▓рд╛ рддрд░реАрд╣реА Scanner. рдкрд░рдВрддреБ рддреБрдореНрд╣реА рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛ , рдЬреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдзреАрдЪ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ. рд╣реЗ рддреНрдпрд╛рдЪреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡рд░реВрдк рдЖрд╣реЗ:

Type name1 = (Type) name2;

name1рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреЗ рдирд╛рд╡ рдХреБрдареЗ рдЖрд╣реЗ TypeрдЖрдгрд┐ name2рддреЗ рдПрдХрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ ObjectрдЬреЗ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ Type.

рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯрд┐рдВрдЧ

рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪрд╛ рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рдкреНрд░рдХрд╛рд░ рдЬреБрд│рдд рдирд╕рд▓реНрдпрд╛рд╕, a ClassCastExceptionрдЯрд╛рдХрд▓рд╛ рдЬрд╛рдИрд▓. рдЙрджрд╛рд╣рд░рдг:

рдХреЛрдб рдиреЛрдВрдж
Object o = new Integer(5);
String s = (String) o;
рд░рдирдЯрд╛рдЗрдордЪреНрдпрд╛ рд╡реЗрд│реА рдПрд░рд░ рдпреЗрдИрд▓:
рдП ClassCastExceptionрдпреЗрдереЗ рдЯрд╛рдХрд▓реЗ рдЬрд╛рдИрд▓

Java рдордзреНрдпреЗ рд╣реА рддреНрд░реБрдЯреА рдЯрд╛рд│рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗ: рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕реВрди рдЖрдореНрд╣реА рд╣реЗ рдХрд░рддреЛ :

name instanceof Type

рдСрдкрд░реЗрдЯрд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╣реЗ instanceofрдХреА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рддреЛ .nameType

рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди, рд╡рд┐рд╡рд┐рдз рд╡рд╕реНрддреВрдВрдЪреНрдпрд╛ рдЕреЕрд░реЗрдордзреНрдпреЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢реЛрдзреВрдпрд╛:

рдХреЛрдб рдиреЛрдВрдж
Object[] objects = {10, "Hello", 3.14};

for (int i = 0; i < objects.length; i++)
{
   if (objects[i] instanceof String)
   {
      String s = (String) objects[i];
      System.out.println(s);
   }
}
IntegerрдСрдЯреЛрдмреЙрдХреНрд╕рд┐рдВрдЧ рд╣реА рдореВрд▓реНрдпреЗ рдЕрдиреБрдХреНрд░рдореЗ , String, рдЖрдгрд┐ , рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрд▓ Double.

рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рдЕреЕрд░реЗрд╡рд░ рд▓реВрдк рдХрд░рд╛ рдЬрд░

рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЗ String

рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХрд░рд╛ рд╕реНрдХреНрд░реАрдирд╡рд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛. String


2. рдЬреЗрдиреЗрд░рд┐рдХ рдХрд╛ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ тАФ рд╕рдВрдЧреНрд░рд╣

рдЪрд▓рд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдВрдХрдбреЗ рдкрд░рдд рдЬрд╛рдКрдпрд╛.

рдЬрд╛рд╡рд╛ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдиреА рдХреНрд▓рд╛рд╕ рддрдпрд╛рд░ рдХрд░рддрд╛рдЪ ArrayList, рддреНрдпрд╛рдВрдирд╛ рддреЗ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдмрдирд╡рд╛рдпрдЪреЗ рд╣реЛрддреЗ, рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреА рд╡рд╕реНрддреВ рд╕рд╛рдард╡реВ рд╢рдХреЗрд▓. ObjectрдореНрд╣рдгреВрди рддреНрдпрд╛рдВрдиреА рдШрдЯрдХ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА s рдЪрд╛ рдЕреЕрд░реЗ рд╡рд╛рдкрд░рд▓рд╛ .

рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреА рддрд╛рдХрдж рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЖрдкрдг рд╕рдВрдЧреНрд░рд╣рд╛рдордзреНрдпреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреА рд╡рд╕реНрддреВ рдЬреЛрдбреВ рд╢рдХрддрд╛.

рдЕрд░реНрдерд╛рдд, рдЕрдиреЗрдХ рдХрдордХреБрд╡рддрдкрдгрд╛ рдЖрд╣реЗрдд.

рдЧреИрд░рд╕реЛрдп рез.

рд╕рдВрдХрд▓рдирд╛рддреВрди рдШрдЯрдХ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛рдирд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рдСрдкрд░реЗрдЯрд░ рд▓рд┐рд╣рд┐рдгреЗ рдиреЗрд╣рдореАрдЪ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ:

рдХреЛрдб рдиреЛрдВрдж
ArrayList numbers = new ArrayList();


for (int i = 0; i < 10; i++)
   numbers.add(i * 10);


int sum = 0;
for (int i = 0; i < 10; i++)
{
   sum = sum + (Integer) numbers.get(i);
}
Objectрд╡рд╕реНрддреВрдВрдЪреЗ рд╕рдВрджрд░реНрдн

рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрдЧреНрд░рд╣ рддрдпрд╛рд░ рдХрд░рд╛ 10, 20, ... 100;



рд╕рдВрдХрд▓рдирд╛рддреАрд▓ рдШрдЯрдХрд╛рдВрдЪреА рдмреЗрд░реАрдЬ


рдЯрд╛рдпрдкрдХрд╛рд╕реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ

рдЧреИрд░рд╕реЛрдп 2.

рд╕рдВрдЧреНрд░рд╣рд╛рдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдШрдЯрдХ рдЖрд╣реЗ рдпрд╛рдЪреА рдХреЛрдгрддреАрд╣реА рд╣рдореА рдирд╡реНрд╣рддреА

рдХреЛрдб рдиреЛрдВрдж
ArrayList numbers = new ArrayList();


for (int i = 0; i < 10; i++)
   numbers.add(i * 2.5);


int sum = 0;
for (int i = 0; i < 10; i++)
{
   sum = sum + (Integer) numbers.get(i);
}
ObjectрдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреЗ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рдВрдЧреНрд░рд╣ рддрдпрд╛рд░ рдХрд░рд╛

рдЖрдореНрд╣реА рд╕рдВрдЧреНрд░рд╣ DoubleрдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореНрд╣рдгреВрди рджрд░реНрд╢рд╡рд┐рд▓реЗрд▓реНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╕рд╣ рднрд░рддреЛ:
0.0, 2.5, 5.0, ...


рд╕рдВрдЧреНрд░рд╣рд╛рддреАрд▓ рдШрдЯрдХрд╛рдВрдЪреА рдмреЗрд░реАрдЬ рдХрд░рд╛


рдПрдХ рддреНрд░реБрдЯреА рдЕрд╕реЗрд▓: a Doubleрд▓рд╛ рдХрд╛рд╕реНрдЯ рдХрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реАInteger

рдбреЗрдЯрд╛ рдХреЛрдареЗрд╣реА рд╕рдВрдЧреНрд░рд╣рд╛рдд рдареЗрд╡рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ:

  • рджреБрд╕рд░реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ
  • рджреБрд╕рд░реНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдд
  • рдлрд╛рдЗрд▓рдордзреВрди
  • рдиреЗрдЯрд╡рд░реНрдХрд╡рд░

рдЧреИрд░рд╕реЛрдп 3.

рд╕рдВрдЧреНрд░рд╣рд╛рддреАрд▓ рдбреЗрдЯрд╛ рдЪреБрдХреВрди рдмрджрд▓рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рддреБрдореНтАНрд╣реА рддреБрдордЪреНтАНрдпрд╛ рдбреЗрдЯрд╛рдиреЗ рднрд░рд▓реЗрд▓рд╛ рд╕рдВрдЧреНрд░рд╣ рдХрд╛рд╣реА рдкрджреНрдзрддреАрдиреЗ рдкрд╛рд╕ рдХрд░реВ рд╢рдХрддрд╛. рддреА рдкрджреНрдзрдд, рд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдиреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реА, рддрд┐рдЪрд╛ рдбреЗрдЯрд╛ рддреБрдордЪреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдд рдЬреЛрдбрддреЗ.

рд╕рдВрдЧреНрд░рд╣рд╛рдЪреЗ рдирд╛рд╡ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕реВрдЪрд┐рдд рдХрд░рдд рдирд╛рд╣реА рдХреА рддреНрдпрд╛рдд рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдЖрдгрд┐ рдЬрд░реА рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рд▓рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╛рд╡ рджрд┐рд▓реЗ рддрд░реА, рддреНрдпрд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рдбрдЭрдирднрд░ рдкрджреНрдзрддреАрдВрдирд╛ рджрд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдЖрдгрд┐ рддреНрдпрд╛ рдкрджреНрдзрддреАрдВрдирд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреНрдпрд╛ рдореВрд│ рдирд╛рд╡рд╛рдмрджреНрджрд▓ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рддреА рдирд╕рддреЗ.


3. рдЬреЗрдиреЗрд░рд┐рдХ

рдЬрд╛рд╡рд╛ рдордзреНрдпреЗ рдЬреЗрдиреЗрд░рд┐рдХ

рдЬрд╛рд╡рд╛рдордзреНрдпреЗ, рдпрд╛ рд╕рд░реНрд╡ рд╕рдорд╕реНрдпрд╛ рдЬреЗрдиреЗрд░рд┐рдХреНрд╕ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдердВрдб рдЧреЛрд╖реНрдЯреАрдореБрд│реЗ рджреВрд░ рд╣реЛрддрд╛рдд.

Java рдордзреНрдпреЗ, рдЬреЗрдиреЗрд░рд┐рдХреНрд╕ рдореНрд╣рдгрдЬреЗ рдкреНрд░рдХрд╛рд░рд╛рдВрдордзреНрдпреЗ рдЯрд╛рдЗрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрдорд┐рд╢реНрд░ рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ. рдЕрд╢рд╛ рд╕рдВрдорд┐рд╢реНрд░ рдкреНрд░рдХрд╛рд░рд╛рдЪреЗ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп рд╣реЗ рдЖрд╣реЗ:

ClassName<TypeParameter>

рд╣рд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рдЖрд╣реЗ. рдЖрдгрд┐ рддреБрдореНрд╣реА рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рд╡рд░реНрдЧ рд╡рд╛рдкрд░рддрд╛ рддреЗрдереЗ рддреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдХреЛрдб рд╡рд░реНрдгрди
ArrayList<Integer> list;
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреЗ
list = new ArrayList<Integer> ();
рд╡рд╕реНрддреВ рддрдпрд╛рд░ рдХрд░рдгреЗ
ArrayList<Integer>[] array;
рдЕреЕрд░реЗ рддрдпрд╛рд░ рдХрд░рдд рдЖрд╣реЗ

IntegerрдЕрд╢рд╛ рдХрд▓реЗрдХреНрд╢рдирдордзреНрдпреЗ рдлрдХреНрдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╕рд╛рдард╡рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:

рдХреЛрдб рд╡рд░реНрдгрди
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(1));
list.add(2);
list.add("Hello");
ArrayListIntegerрдШрдЯрдХрд╛рдВрд╕рд╣ рд╕рдВрдХрд▓рди
рдпрд╛рд▓рд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ
рдЖрдгрд┐ рд╣реЗ рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░реЗрд▓
рдСрдЯреЛрдмреЙрдХреНрд╕рд┐рдВрдЧ

рдкрд░рдВрддреБ рдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдирд╛рд╣реА: рд╕рдВрдХрд▓рди рддреНрд░реБрдЯреА

рдЬрд╛рд╡рд╛ рдХрд▓реЗрдХреНрд╢рди рдХреНрд╡реЗрд╕реНрдЯрдордзреНрдпреЗ рдЯрд╛рдЗрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╡рд░реНрдЧ рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреЗ рддреЗ рддреБрдореНрд╣реА рд╢рд┐рдХрд╛рд▓. рдЖрддреНрддрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рддреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рддреЗ рдкрд╛рд╣реВ.


4. рдЬреЗрдиреЗрд░рд┐рдХ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд

рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдЬреЗрдиреЗрд░рд┐рдХреНрд╕ рдЕрддреНрдпрдВрдд рдЖрджрд┐рдо рдЖрд╣реЗрдд.

рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╣ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдмрджрд▓рддреЛ. рдкрдг рдЬреЗрд╡реНрд╣рд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░рд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЯрд╛рдИрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдордзреНрдпреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдХрд╛рд╕реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбрддреЛ:

рдХреЛрдб рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛рдп рдХрд░рддреЛ
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList list = new ArrayList();
list.add(1);
list.add( (Integer) 1 );
int x = list.get(0);
int x = (Integer) list.get(0);
list.set(0, 10);
list.set(0, (Integer) 10);

рд╕рдордЬрд╛ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдкреВрд░реНрдгрд╛рдВрдХрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рддреАрд▓ рд╕рдВрдЦреНрдпрд╛рдВрдЪреА рдмреЗрд░реАрдЬ рдХрд░рдгрд╛рд░реА рдкрджреНрдзрдд рдЖрд╣реЗ:

рдХреЛрдб рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛рдп рдХрд░рддреЛ
public int sum(ArrayList<Integer> numbers)
{
   int result = 0;

   for (int i = 0; i < numbers.size(); i++)
      result = result + numbers.get(i);

   return result;
}
public int sum(ArrayList numbers)
{
   int result = 0;

   for (int i = 0; i < numbers.size(); i++)
      result = result + (Integer) numbers.get(i);

   return result;
}

рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдЬреЗрдиреЗрд░рд┐рдХреНрд╕ рд╣реА рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреА рд╕рд┐рдВрдЯреЕрдХреНрдЯрд┐рдХ рд╕рд╛рдЦрд░ рдЖрд╣реЗ, рдЬрд╕реЗ рдСрдЯреЛрдмреЙрдХреНрд╕рд┐рдВрдЧ, рдкрд░рдВрддреБ рдереЛрдбреЗ рдЕрдзрд┐рдХ. рдСрдЯреЛрдмреЙрдХреНрд╕рд┐рдВрдЧрд╕рд╣, рдХрдВрдкрд╛рдпрд▓рд░ рдПрдХ intрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреА рдЬреЛрдбрддреЛ IntegerрдЖрдгрд┐ рддреНрдпрд╛рдЙрд▓рдЯ, рдЖрдгрд┐ рдЬреЗрдиреЗрд░рд┐рдХрд╕рд╛рдареА рддреЛ рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбрддреЛ.

рдХрдВрдкрд╛рдЗрд▓рд░рдиреЗ рдЯрд╛рдЗрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рддреБрдордЪреЗ рдЬреЗрдиреЗрд░рд┐рдХ рд╡рд░реНрдЧ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рддреЗ рдлрдХреНрдд рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рдЖрдгрд┐ рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдирд╛ рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░ рд╡рд┐рддрд░реНрдХрд╛рдВрдмрджреНрджрд▓рдЪреА рдорд╛рд╣рд┐рддреА рдЧрдорд╛рд╡рд▓реА рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рднрд╛рд╡рд╛рд▓рд╛ рдЯрд╛рдЗрдк рдЗрд░реЗрдЬрд░ рдЕрд╕реЗрд╣реА рдореНрд╣рдгрддрд╛рдд .

рдХрд╛рд╣реАрд╡реЗрд│рд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдХреНрд▓рд╛рд╕реЗрд╕ (рдЯрд╛рдИрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрд╕рд▓реЗрд▓реЗ рд╡рд░реНрдЧ) рд▓рд┐рд╣рд┐рдгрд╛рд▒реНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдирд╛ рд╡рд┐рддрд░реНрдХ рдореНрд╣рдгреВрди рдкрд╛рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрдмрджреНрджрд▓ рдЦрд░реЛрдЦрд░ рдорд╛рд╣рд┐рддреА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ. Java рдХрд▓реЗрдХреНрд╢рди рдХреНрд╡реЗрд╕реНрдЯрдордзреНрдпреЗ, рддреБрдореНрд╣реА рдпрд╛рд▓рд╛ рдХрд╕реЗ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рд╡реЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдХрд╛рдп рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рддреЗ рд╢рд┐рдХрд╛рд▓.



5. рдЬреЗрдиреЗрд░рд┐рдХрдмрджреНрджрд▓ рдХрд╛рд╣реА рддрдереНрдпреЗ

рдпреЗрдереЗ рдЬреЗрдиреЗрд░рд┐рдХреНрд╕рдмрджреНрджрд▓ рдЖрдгрдЦреА рдХрд╛рд╣реА рдордиреЛрд░рдВрдЬрдХ рддрдереНрдпреЗ рдЖрд╣реЗрдд.

рд╡рд░реНрдЧрд╛рдВрдордзреНрдпреЗ рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░рдЪреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрд╕реВ рд╢рдХрддрд╛рдд. рд╣реЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рддреЗ:

ClassName<TypeParameter1, TypeParameter2, TypeParameter3>

рдЦрд░рдВ рддрд░, рд╣реЗ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рдирд╛рд╣реА. рдХреЛрдареЗрд╣реА рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХрд╛ рдкреНрд░рдХрд╛рд░рд╛рдд рдХрд╛рд╕реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбреВ рд╢рдХрддреЛ, рддреЛ рдПрдХрд╛рдзрд┐рдХ рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбреВ рд╢рдХрддреЛ.

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

рдХреЛрдб рдиреЛрдВрдж
HashMap<Integer, String> map = new HashMap<Integer, String>();
map.put(7, "Hello");
map.put(-15, "Hello");
рдкрджреНрдзрддреАрдЪрд╛ putрдкрд╣рд┐рд▓рд╛ рдкреЕрд░рд╛рдореАрдЯрд░ рдПрдХ рдЖрд╣реЗ IntegerрдЖрдгрд┐ рджреБрд╕рд░рд╛ рдЖрд╣реЗ aString

рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░ рджреЗрдЦреАрд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд . рд╣реЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рддреЗ:

ClassName<TypeParameter<TypeParameterParameter>>

рд╕рдордЬрд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕рдЪреА рдпрд╛рджреА рд╕рд╛рдард╡реВрди рдареЗрд╡рдгрд╛рд░реА рдпрд╛рджреА рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреА рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдорд┐рд│реЗрд▓:

// List of greetings
ArrayList<String> listHello = new ArrayList<String>();
listHello.add ("Hello");
listHello.add ("Hi");

// List of goodbyes
ArrayList<String> listBye = new ArrayList<String>();
listBye.add("Bye");
listBye.add ("Goodbye");

// List of lists
ArrayList<ArrayList<String>> lists = new ArrayList<ArrayList<String>>();
lists.add(listHello);
lists.add(listBye);

рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░ (рдкреНрд░рдХрд╛рд░ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рдкреНрд░рдХрд╛рд░) рдЕреЕрд░реЗ рдкреНрд░рдХрд╛рд░ рдореНрд╣рдгреВрди рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рд╣реЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рддреЗ:

ClassName<TypeParameter>[] array = new ClassName<TypeParameter>[size];

рдпреЗрдереЗ рдХрд╛рд╣реАрд╣реА рдЬрд╛рджреБрдИ рдШрдбрдд рдирд╛рд╣реА: рдХреЛрди рдХрдВрд╕ рдлрдХреНрдд рдкреНрд░рдХрд╛рд░рд╛рдЪреЗ рдирд╛рд╡ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛рдд:

рдХреЛрдб рдиреЙрди-рдЬреЗрдиреЗрд░рд┐рдХ рд╕рдордХрдХреНрд╖
ArrayList<String>[] list = new ArrayList<String>[10];
StringArrayList[] list = new StringArrayList[10];
ArrayList<Integer>[] list = new ArrayList<Integer>[10];
IntegerArrayList[] list = new IntegerArrayList[10];
ArrayList<Scanner>[] list = new ArrayList<Scanner>[10];
ScannerArrayList[] list = new ScannerArrayList[10];
рдЯрд┐рдкреНрдкрдгреНрдпрд╛
  • рд▓реЛрдХрдкреНрд░рд┐рдп
  • рдирд╡реАрди
  • рдЬреБрдиреЗ
рдЯрд┐рдкреНрдкрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╕рд╛рдИрди рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдпрд╛ рдкрд╛рдирд╛рд╡рд░ рдЕрдЬреВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдирд╛рд╣реАрдд