ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ instanceof Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠΈΠΏΠ° Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΡΡΠ΅ΠΊΡΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π² ΡΠΎΡΠΌΠ΅ Object ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ ΠΊ Π’ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠΊΠ΅:
//. generics/GenericCast.java
class FixedSizeStack<T> { private int index = 0; private Object[] storage; public FixedSizeStackOnt size) {
storage = new Object[size];
}
public void push(T item) { storage[index++] = item; }
@SuppressWarni ngs("unchecked")
public T popΠ { return (T)storage[--index], }
}
public class GenericCast {
public static final int SIZE = 10; public static void main(String[] args) { FixedSizeStack<String> strings =
new FixedSizeStack<String>(SIZE); for (String s β’ "Π Π Π‘ D E F G H I J".splitC' "))
strings.push(s), for(int i = 0. i < SIZE; i++) {
String s = strings pop(); System.out.print(s + " ");
} /* Output:
JIHGFEDCBA
*///:-
ΠΠ΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ @SuppressWarnings ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°Π΅Ρ Π΄Π»Ρ ΡΠΎΡ() ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Β«Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈΒ». ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΎΠ½ Π½Π΅ Π·Π½Π°Π΅Ρ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΡ() Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ. Π’ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Object, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎΡ() Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Object Π² Object.
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, Ρ ΠΎΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π·ΡΠΌΠ½ΠΎ:
// generics/UseList java
// {CompileTimeError} (He ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ)
import java.util.*;
public class UseList<W.T> { void f(List<T> v) {}
void f(List<W> v) {}
} III ~
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΠΈΠΏΠ° Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π½ΠΈΡ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΠΌΠΈΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ:
II. generics/UseList2 java
import java util.*;
public class UseList2<W.T> { void fl(List<T> v) {} void f2(List<W> v) {}
} III.-
Π ΡΡΠ°ΡΡΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
Π Π΅Π·ΡΠΌΠ΅
ΠΠ½Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ Π‘++ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π΄Π°Π»Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Ρ Π²ΡΠ΄Π²ΠΈΠ³Π°Π» Π² ΡΠΏΠΎΡΠ°Ρ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠΎΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ². ΠΠΈΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ Ρ Π·Π°Π΄ΡΠΌΠ°Π»ΡΡ Π½Π°Π΄ ΡΠ΅ΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ² ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, β ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠΏΠΈΡΡ, ΠΏΡΠΎΠ½ΠΈΠΊΠ°Π»Π° Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄?
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ: ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ: List, Set, Map ΠΈ Ρ. Π΄. ΠΠΎ Π²ΡΡ ΠΎΠ΄Π° Java SE5 ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π»ΡΡ Π² Object, ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΈΠΏΠ° ΡΠ΅ΡΡΠ»Π°ΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ½ΠΎΠ²Π° ΠΈΠ·Π²Π»Π΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π΅Π³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ. Π― ΠΏΠΎΡΡΠ½ΡΠ» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ List Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Cat (ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ Apple ΠΈ Orange ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Π½Π°ΡΠ°Π»Π΅ Π³Π»Π°Π²Ρ 11). ΠΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ· Java SE5 Π²Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΠ΅ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Object, ΠΏΠΎΡΡΠΎΠΌΡ Π² List Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Cat Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Dog.
ΠΠ΄Π½Π°ΠΊΠΎ Π²Π΅ΡΡΠΈΠΈ Java, ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠ΅ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π»ΠΈ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π»ΠΈ Dog Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Cat, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΊΠ°ΠΊ Cat, ΡΠΎ ΠΏΡΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° Dog ΠΈ Π΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊ Cat ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ RuntimeException. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π»Π°ΡΡ, ΠΏΡΡΡΡ ΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΈΠ·Π΄Π°Π½ΠΈΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΏΠΈΡΠ°Π»:
Β«ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅Π»ΠΊΠ°Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΡ, Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΡΡΠ΄Π½ΠΎΡΠ»ΠΎΠ²ΠΈΠΌΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΡ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΠΉ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π° Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π±ΡΠ» ΠΉΠΎΠΌΠ΅ΡΠ΅Π½ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΊΠ°ΡΡ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π΅Π²Π΅ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠ°Π²ΠΊΠΈΒ».
ΠΠΎ ΠΏΠΎΠ·ΠΆΠ΅ Ρ Π·Π°Π΄ΡΠΌΠ°Π»ΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΈ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠΎΠΌΠ½Π΅Π½ΠΈΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ? ΠΠ΅ ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΡΡΠ΅ΡΠΈΠ»Π°ΡΡ Π² ΠΌΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎΠ³Π΄Π° Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π» Π»ΡΠ΄Π΅ΠΉ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ , ΠΌΠ½Π΅ ΡΠΎΠΆΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΊΠΎΠ³ΠΎ, Ρ ΠΊΠ΅ΠΌ Π±Ρ ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ. Π Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΈΡΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ files, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ String, β Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° File, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎΠΈΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈΠΌΡ fileNames. ΠΠ°ΠΊΡΡ Π±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² Π½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π» ΡΠ·ΡΠΊ Java, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ°Π»ΠΎΠΏΠΎΠ½ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π° ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΡΠ²ΠΎΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Π²ΡΠΎΠ΄Π΅ cats, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ»ΡΠΆΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΏΡΡΠ°ΡΡΠ΅Π³ΠΎΡΡ Π·Π°Π½Π΅ΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡ Cat. ΠΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΊΡΡΡΠΎΠΉ? ΠΠ΄ΡΠ°Π²ΡΠΉ ΡΠΌΡΡΠ» ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π²ΡΠΊΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ΄ΠΈΠ½ Π°Π²ΡΠΎΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Β«ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠΊΡΡΡΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅ΡΒ». ΠΠΎ Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΠΏΠΎΠΌΠ½Ρ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ Π»ΡΠ΄Π΅ΠΉ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Β«Dog Π² ΡΠΏΠΈΡΠΊΠ΅ CatΒ», ΠΈΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ Ρ ΠΈΡ ΡΠ°ΡΡΡΠΌ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ. Π’Π°ΠΊ Π½Π΅ΡΠΆΠ΅Π»ΠΈ ΡΠ°ΠΊΠ°Ρ Π·Π°ΠΌΠ΅ΡΠ½Π°Ρ ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡ, Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² Java ΠΈΠ·-Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π°?
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠ±ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ·ΡΠΊ (Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΅Π΅ Π² Java!) ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π’ΠΈΠΏΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ β Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΠΎΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Β«Dog Π² ΡΠΏΠΈΡΠΊΠ΅ CatΒ» ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΏΠΎΡΠ΅Π½.
ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ»Π° Β«Π²ΡΡΡΠΎΠ΅Π½Π°Β» Π² Java (Π° Π½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΡΠ°Π²Π½Π°Ρ ΡΠ°ΡΡΡ ΡΠ·ΡΠΊΠ° Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°), Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈΡΡ Π½Π΅ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΌΠΎΡΠ½ΡΠΌΠΈ, ΠΊΠ°ΠΊ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° Map, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Ρ containsKey(Object key) ΠΈ get(Object key). ΠΡΠ»ΠΈ Π±Ρ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π² ΡΠ°ΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡ, Π² ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π²ΠΌΠ΅ΡΡΠΎ Object ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π±Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΡ; ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π»ΠΈΡΡ Π±Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ Π‘++ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ° Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠ΅ΡΡΠΏΠΎΡΠ½ΠΎ, Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅, β ΠΊΡΠ°ΠΉΠ½Π΅ Ρ Π»ΠΎΠΏΠΎΡΠ½Π°Ρ Π·Π°ΡΠ΅Ρ. Π Π‘++ ΡΠ°Π±Π»ΠΎΠ½Ρ Π±ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ISO-Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ»ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ. Π Java ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° Π»ΠΈΡΡ ΡΠΏΡΡΡΡ 10 Π»Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎΡ ΡΠ°ΠΊΡ ΠΏΠΎΡΠΎΠ΄ΠΈΠ» Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π» Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΡΡΠ°Π΄Π°ΡΡ ΠΈΠ·-Π·Π° Π±Π»ΠΈΠ·ΠΎΡΡΠΊΠΎΡΡΠΈ, ΠΏΡΠΎΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΠΈ 1.0. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ½ΠΈ Π·Π½Π°Π»ΠΈ ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°Ρ Π‘++ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡ Π² ΡΠ·ΡΠΊ, Π½ΠΎ ΠΏΠΎ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ (ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΎΡΡΠΎ ΡΠΎΡΠΎΠΏΠΈΠ»ΠΈΡΡ). Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΡΡΠ°Π΄Π°Π» ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ, ΡΠ°ΠΊ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° Π½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ Π² Java ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΠ°ΡΡΠΈΠ²Ρ
Π ΠΊΠΎΠ½ΡΠ΅ Π³Π»Π°Π²Ρ 5 Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ².
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ· Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ, Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
Π Java ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ?
ΠΠ°ΡΡΠΈΠ²Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΏΠΎ ΡΡΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ: ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ². ΠΠ°ΡΡΠΈΠ²Ρ Java ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ»ΠΎΠΊ9 Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ°ΡΡΠΈΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π±ΡΡΡΡΠΎ. ΠΠ° ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π² Π³Π»Π°Π²Π΅ 11, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ArrayList ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΡΡ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π²ΡΠ΄Π΅Π»ΡΡ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ Π² Π½Π΅Π³ΠΎ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· ΡΡΠ°ΡΠΎΠ³ΠΎ. Π₯ΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ArrayList ΠΎΡΠ΄Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, Π·Π° Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡΡΡ, ΠΈ ArrayList Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΡΠΏΠ°Π΅Ρ ΠΏΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ.
Π ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΉ. ΠΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ RuntimeException, ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ Object, ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌΡ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π² Java. ΠΠ°ΡΡΠΈΠ²Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Β«ΡΡΠ°ΡΡΡ Β» ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Java ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Π·Π°ΠΏΡΠ΅ΡΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ. ΠΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈ ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.