Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° HumanBeing, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½ΠΈΠΆΠ΅.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ:
ΠΠ»Π°ΡΡ, ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΠΊΠ»Π°ΡΡΠ° (ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²) Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΠ»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° java.util.ArrayDequeue
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
ΠΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ: ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ xml
Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° java.io.BufferedInputStream
ΠΠ°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ
Π² ΡΠ°ΠΉΠ» Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° java.io.BufferedOutputStream
ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ javadoc.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈ Ρ.ΠΏ.).
Π ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
help : Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
info : Π²ΡΠ²Π΅ΡΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (ΡΠΈΠΏ, Π΄Π°ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Ρ.Π΄.)
show : Π²ΡΠ²Π΅ΡΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ
add {element} : Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ
update id {element} : ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, id ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ
remove_by_id id : ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎ Π΅Π³ΠΎ id
clear : ΠΎΡΠΈΡΡΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ
save : ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΡΠ°ΠΉΠ»
execute_script file_name : ΡΡΠΈΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π ΡΠΊΡΠΈΠΏΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡ
Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
exit : Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π±Π΅Π· ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»)
head : Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
remove_head : Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ
remove_greater {element} : ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΠΉ
filter_by_minutes_of_waiting minutesOfWaiting : Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ minutesOfWaiting ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π²Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ
filter_greater_than_impact_speed impactSpeed : Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ impactSpeed ΠΊΠΎΡΠΎΡΡΡ
Π±ΠΎΠ»ΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ
print_unique_impact_speed : Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ impactSpeed Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
Π€ΠΎΡΠΌΠ°Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄:
ΠΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
(ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ, ΠΊΠ»Π°ΡΡΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, String, ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Ρ), Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎ ΠΈ ΠΈΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠ΅ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
(ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², Ρ
ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ) Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π² ΡΡΡΠΎΠΊΡ.
ΠΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠΎΡΡΠ°Π²Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π²Π²ΠΎΠ΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ:")
ΠΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ enum'ΠΎΠΌ, ΡΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠΌΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ (ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½).
ΠΡΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ (Π²Π²Π΅Π΄Π΅Π½Π° ΡΡΡΠΎΠΊΠ°, Π½Π΅ ΡΠ²Π»ΡΡΡΠ°ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² enum'Π΅; Π²Π²Π΅Π΄Π΅Π½Π° ΡΡΡΠΎΠΊΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ»Π°; Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΈ Ρ.ΠΏ.) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»Ρ.
ΠΠ»Ρ Π²Π²ΠΎΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ null ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠΎΠ»Ρ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ "ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ" Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²:
public class HumanBeing { private int id; //ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 0, ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ, ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ private String name; //ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null, Π‘ΡΡΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΡΡΠΎΠΉ private Coordinates coordinates; //ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null private java.time.LocalDate creationDate; //ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null, ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ private boolean realHero; private Boolean hasToothpick; //ΠΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null private int impactSpeed; private String soundtrackName; //ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null private Long minutesOfWaiting; //ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null private Mood mood; //ΠΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null private Car car; //ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null } public class Coordinates { private int x; private Float y; //ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ -188, ΠΠΎΠ»Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null } public class Car { private String name; //ΠΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null private boolean cool; } public enum Mood { SADNESS, LONGING, GLOOM, RAGE; }
ΠΡΡΡΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ:
Π’Π΅ΠΊΡΡ Π·Π°Π΄Π°Π½ΠΈΡ.
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠΎΠΏΡΠΎΡΡ ΠΊ Π·Π°ΡΠΈΡΠ΅ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ:
ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ java.util.Comparable ΠΈ java.util.Comparator.
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ - ΡΠΏΠΈΡΠΊΠΈ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ java.util.Map ΠΈ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΡ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΡΠ΅ΠΌΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ². Wildcard-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
ΠΠ»Π°ΡΡΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ²ΡΠΎΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ Π°Π²ΡΠΎΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°.
ΠΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π² Java. ΠΠ°ΠΉΡΠΎΠ²ΡΠ΅ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ. "Π¦Π΅ΠΏΠΎΡΠΊΠΈ" ΠΏΠΎΡΠΎΠΊΠΎΠ² (Stream Chains).
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Java. ΠΠ»Π°ΡΡ java.io.File.
ΠΠ°ΠΊΠ΅Ρ java.nio - Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
Π£ΡΠΈΠ»ΠΈΡΠ° javadoc. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² Java.