ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Готовимся ΠΊ собСсСдованию: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ коллСкциях Π² Java

ОсвСТаСм знания ΠΎ коллСкциях Π² Java ΠΈ закрСпляСм ΠΈΡ… Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² Java β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… Ρ‚Π΅ΠΌ Π½Π° собСсСдованиях Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² любого уровня. Π‘Π΅Π· Π½ΠΈΡ… Π½Π΅ обходятся ΠΈ экзамСны Π½Π° сСртификат Java Professional.

Вспомним основныС Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Java, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ β€” это Π½Π°Π±ΠΎΡ€Ρ‹ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… элСмСнтов. НапримСр, страницы Π² ΠΊΠ½ΠΈΠ³Π΅, яблоки Π² ΠΊΠΎΡ€Π·ΠΈΠ½Π΅ ΠΈΠ»ΠΈ люди Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ структурами Π² Java содСрТатся Π² Java Collections Framework. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ состоит ΠΈΠ· интСрфСйсов, ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹Ρ… классов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками: сортировки, поиска, прСобразования.

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ЀулстСк-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π›ΡŽΠ±ΠΈΠΌΡ‹ΠΉ стСк: Java + Angular, Π½ΠΎ Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ Π½Π° языкС Ада.

Π“Π°Π»ΠΎΠΏΠΎΠΌ ΠΏΠΎ Π•Π²Ρ€ΠΎΠΏΠ°ΠΌ, ΠΈΠ»ΠΈ ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠ± интСрфСйсах

Set β€” это нСупорядочСнноС мноТСство ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов.

НапримСр, ΠΌΠ΅ΡˆΠΎΡ‡Π΅ΠΊ с Π±ΠΎΡ‡ΠΎΠ½ΠΊΠ°ΠΌΠΈ для ΠΈΠ³Ρ€Ρ‹ Π² Π»ΠΎΡ‚ΠΎ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΡ‚ 1 Π΄ΠΎ 90 встрСчаСтся Π² Π½Ρ‘ΠΌ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстно, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС Π±ΠΎΡ‡ΠΎΠ½ΠΊΠΈ Π²Ρ‹Π½ΡƒΡ‚ ΠΏΡ€ΠΈ ΠΈΠ³Ρ€Π΅.

List β€” упорядочСнный список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΅ΡΡ‚ΡŒ индСкс. Π”ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ.

НапримСр, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² Π² словС: Π±ΡƒΠΊΠ²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ, ΠΏΡ€ΠΈ этом ΠΈΡ… порядок Π²Π°ΠΆΠ΅Π½.

Queue β€” ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π’ Ρ‚Π°ΠΊΠΎΠΌ спискС элСмСнты ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² хвост, Π° ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π½Π°Ρ‡Π°Π»Π°. Π’Π°ΠΊ рСализуСтся концСпция FIFO ( first in, first out) β€” Β«ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΡˆΡ‘Π» β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡˆΡ‘Π»Β». Π’Π°ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ напомнят это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ссли ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ»Π΅Π·Ρ‚ΡŒ Π±Π΅Π· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅:

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

А Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ LIFO (last in, first out), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «послСдним ΠΏΡ€ΠΈΡˆΡ‘Π» β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡˆΡ‘Π»Β». ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β€” стопка Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… Π±ΡƒΠΊΠ»Π΅Ρ‚ΠΎΠ² Π½Π° Ρ€Π΅ΡΠ΅ΠΏΡˆΠ΅Π½Π΅ отСля: ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π·Π°Π±ΠΈΡ€Π°ΡŽΡ‚ самыС Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ (ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ послСдними). Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ, которая Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ стСком.

Deque ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈ ΠΊΠ°ΠΊ стСк. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ элСмСнты ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π² Π΅Ρ‘ Π½Π°Ρ‡Π°Π»ΠΎ, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ†. Π’ΠΎ ΠΆΠ΅ относится ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ.

Π‘ΡƒΠ΄Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли Π½Π° собСсСдовании Π²Ρ‹ Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚Π΅ Deque ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: «дэк», Π° Π½Π΅ Β«Π΄ экью», ΠΊΠ°ΠΊ часто говорят.

Map состоит ΠΈΠ· ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β». ΠšΠ»ΡŽΡ‡ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹, Π° значСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ элСмСнтов Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½. Map позволяСт ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (значСния) ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: стопка ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ с иностранными словами ΠΈ ΠΈΡ… значСниями. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова (ΠΊΠ»ΡŽΡ‡) Π½Π° ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅), Π° Π²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π² любом порядкС.

НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ интСрфСйс Collection ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Collections. Map Π½Π΅ наслСдуСтся ΠΎΡ‚ интСрфСйса Collection, Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Collections.

Π‘ΠΎΠ±Π΅Ρ€Ρ‘ΠΌ всё вмСстС

SetListQueueMap
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹✅ для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

❌ для ΠΊΠ»ΡŽΡ‡Π΅ΠΉΠ‘ΠΎΡ…Ρ€Π°Π½ΡΠ΅Ρ‚ΡΡ порядок добавлСния❌✅✅❌

Π’Π°ΠΊΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ интСрфСйсов Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ сСбС упорядочСнный Map ΠΈ Π΄Π°ΠΆΠ΅ отсортированноС мноТСство. ΠŸΡ€ΠΎΠΉΠ΄Ρ‘ΠΌΡΡ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΏΠΎ основным классам.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ List

Класс ArrayList ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, Ссли Π²Ρ‹ ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ список (Π° Π½Π΅ Map, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

Бтроится Π½Π° Π±Π°Π·Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ массива. Если ΠΏΡ€ΠΈ создании Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΏΠΎΠ΄ значСния выдСляСтся 10 ячССк. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мСста ΡƒΠΆΠ΅ Π½Π΅Ρ‚, массив автоматичСски Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ β€” программисту ΠΎΠ± этом ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

Бписок проиндСксирован. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² Π΅Π³ΠΎ сСрСдину всС элСмСнты с Π± ольшим индСксом ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π²ΠΏΡ€Π°Π²ΠΎ:

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнта всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ с бо́льшим индСксом ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π²Π»Π΅Π²ΠΎ:

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Класс LinkedList Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ List ΠΈ Deque. Π­Ρ‚ΠΎ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΅ΡΡ‚ΡŒ ссылка Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнты:

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Благодаря этому Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов выполняСтся быстро β€” врСмязатраты Π½Π΅ зависят ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ элСмСнты ΠΏΡ€ΠΈ этих опСрациях Π½Π΅ ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ: просто ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ссылки.

На собСсСдованиях часто ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π³ΠΎΠ΄Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ LinkedList, Π° ΠΊΠΎΠ³Π΄Π° β€” ArrayList.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ²: Ссли Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ индСксами Π² спискС Π½ΡƒΠΆΠ½ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π½Π΅ΠΌΡƒ, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ LinkedList. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях β€” ArrayList.

Π’ Ρ†Π΅Π»ΠΎΠΌ Ρ‚Π°ΠΊ ΠΈ Π΅ΡΡ‚ΡŒ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Π»Π΅ΡΠ½ΡƒΡ‚ΡŒ эрудициСй β€” Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ. ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ элСмСнтов Π² ArrayList (ΠΈΠ»ΠΈ ΠΈΡ… ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ) вызываСтся Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ System.arraycopy. Π’ Π½Ρ‘ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ассСмблСрныС инструкции для копирования Π±Π»ΠΎΠΊΠΎΠ² памяти. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Queue

ΠŸΡ€ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…, LinkedList, ΠΌΡ‹ рассказали Π²Ρ‹ΡˆΠ΅.

Класс ArrayDeque β€” это рСализация Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π² Π²ΠΈΠ΄Π΅ массива с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом элСмСнтов.

НовыС значСния ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ† списка, ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΆΠ΅. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании LinkedList.

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Класс PriorityQueue β€” упорядочСнная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ элСмСнты Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² СстСствСнном порядкС: числа ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, строки ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, Π»ΠΈΠ±ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сравнСния Π·Π°Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

Π­Ρ‚ΠΎΡ‚ класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для нахоТдСния n ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… чисСл Π² большом нСупорядочСнном спискС:

Вакая рСализация Π²Ρ‹Π³ΠΎΠ΄Π½Π΅Π΅ ΠΏΠΎ скорости ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ памяти, Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с сортировкой ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ списка.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Set

Класс HashSet ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ манипуляциях с элСмСнтами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ…Π΅Ρˆ-функция β€” hashCode() Π² Java.

Π₯Сш-Ρ‚Π°Π±Π»ΠΈΡ†Π° β€” структура Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС элСмСнты ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π±Π°ΠΊΠ΅Ρ‚Ρ‹ (buckets), ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ вычислСния Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

НапримСр, администратор Π² гостиницС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ»Π°ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π² ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΡ‚ 1 Π΄ΠΎ 9, вычисляя Π΅Π³ΠΎ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ: ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ всС Ρ†ΠΈΡ„Ρ€Ρ‹ Π½ΠΎΠΌΠ΅Ρ€Π°, ΠΏΠΎΠΊΠ° Π½Π΅ получится одноразрядноС число.

Π—Π΄Π΅ΡΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вычислСния β€” Ρ…Π΅Ρˆ-функция, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния β€” Ρ…Π΅Ρˆ-ΠΊΠΎΠ΄.

Π’ΠΎΠ³Π΄Π° ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° 356 ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ 5 (3 + 5 + 6 = 14; 1 + 4 = 5), Π° ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° 123 β€” Π² ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 6.

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, поиск ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ происходит Π·Π° постоянноС врСмя, нСзависимо ΠΎΡ‚ числа элСмСнтов Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

О классС TreeSet Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° мноТСство Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ упорядочСно. Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Ρ‚ΡŒ β€” опрСдСляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ TreeSet. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ элСмСнты Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² СстСствСнном порядкС. ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠ½ΠΈ Π² Π²ΠΈΠ΄Π΅ красно-Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Map

Класс HashMap Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠ°ΠΊ ΠΈ HashSet. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, HashSet Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ HashMap. ΠŸΡ€ΠΈ этом ΠΊΠ»ΡŽΡ‡ΠΎΠΌ выступаСт сам элСмСнт.

Класс TreeMap строится Ρ‚ΠΎΠΆΠ΅ Π½Π° Π±Π°Π·Π΅ красно-Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ здСсь упорядочСны (Π² СстСствСнном ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈ создании порядкС) Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΈ этом вставка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹, Ρ‡Π΅ΠΌ Π² случаС с HashMap.

Класс LinkedHashMap Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности HashMap Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ элСмСнтам Π² порядкС ΠΈΡ… добавлСния. Как ΠΈ Π² LinkedList, здСсь каТдая ΠΏΠ°Ρ€Π°-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ содСрТит ссылку Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнты.

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ вопрос Π½Π° собСсСдовании: Π² ΠΊΠ°ΠΊΠΈΡ… коллСкциях Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ null-элСмСнты?

ΠžΡ‚Π²Π΅Ρ‚: ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх, Π½ΠΎ нСльзя Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ null-значСния Π² упорядочСнныС структуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сравнСниС.

ОбоснованиС: ΠΌΡƒΡ… ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΡ‚Π»Π΅Ρ‚ β€” ΠΈΠ½Ρ‹ΠΌΠΈ словами, нСльзя ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅, нСсопоставимыС Π²Π΅Ρ‰ΠΈ. Π’Π°ΠΊ ΠΆΠ΅ ΠΈ Π² Java Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ большС: null ΠΈΠ»ΠΈ число 1, ΠΈΠ»ΠΈ null ΠΈΠ»ΠΈ строка Β«helloΒ».

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ null-значСния Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ Π² TreeMap ΠΈ TreeSet.

Π•Ρ‰Ρ‘ ΠΎΠ½ΠΈ нСдопустимы Π² ArrayDeque, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этого класса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, poll() β€” ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ null ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ пустоты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

ΠŸΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ΅ΠΌΡΡ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ просто Π²Ρ‹Π·ΡƒΠ±Ρ€ΠΈΠ»ΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ, Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚, Π½Π° собСсСдовании Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ задания Π²Ρ€ΠΎΠ΄Π΅ Β«Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°Β»

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ.

Π—Π°Π΄Π°Ρ‡ΠΈ для ArrayList

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ послС выполнСния ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: test2:test4:test1:test4:test2:test3:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π² ArrayList Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ начиная с нуля. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ элСмСнт с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1 β€” это test2.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ дСйствиСм ΠΌΡ‹ добавляСм строку Β«test4Β» Π² ячСйку с индСксом 1. ΠŸΡ€ΠΈ этом элСмСнты с бо́льшим индСксом ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π²ΠΏΡ€Π°Π²ΠΎ.

Вторая Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° ( test4) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ индСксу 1 извлСкаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ test4.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ всС элСмСнты списка ΠΈ убСТдаСмся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ выводятся ΠΈΠΌΠ΅Π½Π½ΠΎ Π² порядкС добавлСния.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: 2:2

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ понятна: Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄Π²Π° элСмСнта, поэтому Ρ€Π°Π·ΠΌΠ΅Ρ€ списка Ρ€Π°Π²Π΅Π½ Π΄Π²ΡƒΠΌ. ΠžΡΡ‚Π°Ρ‘Ρ‚ΡΡ вопрос: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ Π±Ρ‹Π» ΡƒΠ΄Π°Π»Ρ‘Π½ Β«test1Β»?

ΠŸΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ элСмСнта Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² спискС. ArrayList ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для поиска ΠΌΠ΅Ρ‚ΠΎΠ΄ equals().

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, поэтому Β«test3Β» Π½Π΅ эквивалСнтно Β«test1Β» ΠΈ Β«test2Β». А Ρ€Π°Π· Π½ΠΈ ΠΎΠ΄ΠΈΠ½ элСмСнт Π½Π΅ соотвСтствуСт ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ поиска, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ удалится β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ списка останСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сСбя: ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ссли вмСсто

Π—Π°Π΄Π°Ρ‡ΠΈ для Set

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: 3:, Π° дальшС Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ извСстно.

Π’Π°ΠΊ ΠΊΠ°ΠΊ строки ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ Π²ΠΎ мноТСствах нСдопустимы, Π²Ρ‚ΠΎΡ€ΠΎΠΉ «Иван» Π½Π΅ станСт Ρ‡Π°ΡΡ‚ΡŒΡŽ мноТСства. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ мноТСства Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 3.

Π’ ΠΊΠ°ΠΊΠΎΠΌ порядкС Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ элСмСнты мноТСства β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎ ΠΌΡ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ: Π²ΠΎ мноТСствах порядок добавлСния Π½Π΅ сохраняСтся.

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: 4.

Как ΠΆΠ΅ Ρ‚Π°ΠΊ, вСдь Π²ΠΎ мноТСство Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² мноТСство, вычисляСтся Π΅Π³ΠΎ hashCode() β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π°ΠΊΠ΅Ρ‚, ΠΊΡƒΠ΄Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½.

Если Π±Π°ΠΊΠ΅Ρ‚ пуст, элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½. Π˜Π½Π°Ρ‡Π΅ ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ элСмСнты с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ…Π΅ΡˆΠ° ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° equals(). Если Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт становится Ρ‡Π°ΡΡ‚ΡŒΡŽ мноТСства. Он ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±Π°ΠΊΠ΅Ρ‚.

ΠœΡ‹ добавляСм Π² Set ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Person β€” созданного Π½Π°ΠΌΠΈ класса. Π­Ρ‚ΠΎΡ‚ класс, ΠΊΠ°ΠΊ ΠΈ всС ссылочныС Ρ‚ΠΈΠΏΡ‹, наслСдуСтся ΠΎΡ‚ класса Object.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ hashCode(), Π±ΡƒΠ΄Π΅Ρ‚ использована Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠ°Ρ рСализация. Π’ Π½Π΅ΠΉ Ρ…Π΅Ρˆ вычисляСтся Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… адрСса (рСализация зависит ΠΎΡ‚ JVM).

ΠœΠ΅Ρ‚ΠΎΠ΄ equals() Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½. Π’ классС-Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ просто сравниваСт ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Ссли Ρ…Π΅Ρˆ случайно совпадёт для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… элСмСнтов, equals() Π² любом случаС Π²Π΅Ρ€Π½Ρ‘Ρ‚ false.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² мноТСство.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сСбя: измСнится Π»ΠΈ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Ссли ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ hashCode() Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

А Ссли Π΅Ρ‰Ρ‘ ΠΈ equals() ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ Π½ΠΈΠΆΠ΅:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ Java Collections Framework

Данная публикация Π½Π΅ являСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ Ρ€Π°Π·Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ (Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ java.util.concurrent ). Π­Ρ‚ΠΎ, скорСС, справочник, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ отличия ΠΎΠ΄Π½ΠΈΡ… ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π° Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ просто ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π² памяти.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java Collections Framework?

Java Collection Framework β€” иСрархия интСрфСйсов ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, которая являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ JDK ΠΈ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ большим количСсвом структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Β«ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ».

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ понятия

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Map [doc]

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Hashtable β€” рСализация Ρ‚Π°ΠΊΠΎΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°. Она Π½Π΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ null Π² качСствС значСния ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π°. Π­Ρ‚Π° коллСкция Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ Java Collection Framework, Π½ΠΎ Π² послСдствии Π±Ρ‹Π»Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π΅Π³ΠΎ состав. Как ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΠ· Java 1.0, Hashtable являСтся синхронизированной (ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ synchronized ). Из-Π·Π° этой особСнности Ρƒ Π½Π΅Ρ‘ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ сущСствСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ, начиная с Java 1.2, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса Map Π²Π²ΠΈΠ΄Ρƒ отсутствия Ρƒ Π½ΠΈΡ… синхронизации.

WeakHashMap β€” рСализация Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, которая ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° с использованиСм weak references. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Garbage Collector автоматичСски ΡƒΠ΄Π°Π»ΠΈΡ‚ элСмСнт ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ сборкС мусора, Ссли Π½Π° ΠΊΠ»ΡŽΡ‡ этого элСмСтна Π½Π΅Ρ‚ Тёстких ссылок.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ List [doc]

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого интСрфСйса ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой упорядочСнныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ элСмСнтам ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ индСксу ΠΈ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ поиска ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅).

ArrayList β€” ΠΊΠ°ΠΊ ΠΈ Vector являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ динамичСского массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ null Π² качСствС элСмСнта. Как ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΈΠ· названия, Π΅Π³ΠΎ рСализация основана Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ массивС. Π”Π°Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, Ссли Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ прСдплагаСтся частоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам ΠΏΠΎ индСксу. Из-Π·Π° особСнностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поиндСксноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам выполняСтся Π·Π° константноС врСмя O(1). Но Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ рСкомСндуСтся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ, Ссли трСбуСтся частоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅/Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² сСрСдину ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ описаниС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² этом Ρ…Π°Π±Ρ€Π°Ρ‚ΠΎΠΏΠΈΠΊΠ΅.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Set [doc]

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой Π½Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, которая Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π°Π½Π½Ρ‹Π΅. ЯвляСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ модСлью матСматичСского понятия «мноТСство».

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Queue [doc]

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Π­Ρ‚ΠΎΡ‚ интСрфСйс описываСт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ способом вставки ΠΈ извлСчСния элСмСнтов, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β€” ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ FIFO (first-in-first-out). Помимо ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² интСрфСйсС Collection, опрСдСляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для извлСчСния ΠΈ добавлСния элСмСнтов Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ интСрфСйса находится Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.util.concurrent ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±Π·ΠΎΡ€Π΅.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Java Collections Framework содСрТит большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ…, доступных Π² JDK Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ всС потрСбности ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… характСристик основных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΡ€ΠΈ нСобходимости, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π»ΠΈΠ±ΠΎ создав свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ подходящСго интСрфСйса с нуля. Π’Π°ΠΊΠΆΠ΅ сущСствуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Java Collections Framework. НаиболСС популярными ΡΠ²Π»ΡΡŽΡ‚ΡΡ Google Guava ΠΈ Commons Collections.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Бписки Π½Π° Java β€” ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйса List

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Java List, java.util.List, прСдставляСт ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, содСрТащиСся Π² спискС Java, Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π² соотвСтствии с порядком ΠΈΡ… появлСния Π² спискС.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² спискС Java ΠΈΠΌΠ΅Π΅Ρ‚ индСкс. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π² ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 0, Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 1 ΠΈ Ρ‚.Π΄.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² список. Если список Π½Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ с использованиСм Java Generics, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (классов) Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ спискС.

Java List β€” это стандартный интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΎΠΌ Java Collection, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ List наслСдуСтся ΠΎΡ‚ Collection.
ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса list ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ спискам Java

Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ вмСсто чтСния тСкста, Π²ΠΎΡ‚ Π²ΠΈΠ΄Π΅ΠΎ вСрсия этого ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ Java List:

Java List ΠΈ Set

Java List ΠΈ Java Set ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ элСмСнтов. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сущСствСнныС различия.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Java List ΠΈ Java Set состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π² спискС Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°. Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π°, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ β€” элСмСнты Π² List ΠΈΠΌΠ΅ΡŽΡ‚ порядок, ΠΈ элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π² этом порядкС. Набор Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ порядок элСмСнтов, хранящихся Π²Π½ΡƒΡ‚Ρ€ΠΈ.

РСализация List

Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΎΠΌ Collection, всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² интСрфСйсС Collection Ρ‚Π°ΠΊΠΆΠ΅ доступны Π² Listinterface.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ List β€” это интСрфСйс, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ интСрфСйса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ рСализациями List Π² API ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Java:

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ List Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.util.concurrent.

Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр List:

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² список Java

Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнты (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹) Π² список Java ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ add (). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ добавлСния элСмСнтов Π² список Java:

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° add () Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ экзСмпляр String Π² ΠΊΠΎΠ½Π΅Ρ† списка.

Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния

На самом Π΄Π΅Π»Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния Π² список.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ индСксу

МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² список ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ индСксу. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ List ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° add(), которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ индСкс Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΈ элСмСнт для вставки Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ вставки элСмСнта с индСксом 0.

Если список ΡƒΠΆΠ΅ содСрТит элСмСнты, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ дальшС Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π» индСкс 0 Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π±Ρ‹Π» вставлСн Π² индСкс 0, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ Π² индСкс 1 ΠΈ Ρ‚.Π΄.

ВставляСм всС элСмСнты ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ

МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС элСмСнты ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ListaddAll (). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ прСдставляСт собой объСдинСниС Π΄Π²ΡƒΡ… списков.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ добавляСт всС элСмСнты ΠΈΠ· listSource Π² listDest.

ΠœΠ΅Ρ‚ΠΎΠ΄ addAll () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, поэтому Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка Java

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка Java, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ индСкс элСмСнтов. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ get (int index). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ доступа ΠΊ элСмСнтам списка с использованиСм индСксов элСмСнтов:

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты списка Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ хранятся Π²Π½ΡƒΡ‚Ρ€ΠΈ.

Как Π½Π°ΠΉΡ‚ΠΈ элСмСнты Π² спискС Java

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ элСмСнты Π² спискС Java, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Запуск этого ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ:

Найти послСднСС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта Π² спискС

ΠœΠ΅Ρ‚ΠΎΠ΄ lastIndexOf () Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ индСкс послСднСго вхоТдСния Π² спискС Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ²:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1 встрСчаСтся 2 Ρ€Π°Π·Π°. ИндСкс послСднСго Ρ€Π°Π²Π΅Π½ 2.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: содСрТит Π»ΠΈ список элСмСнт?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ Java List Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ List contains ().

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ List этот элСмСнт, List Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ своих элСмСнтов ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния Π² список, фактичСски ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ список Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для contains () ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null, ΠΌΠ΅Ρ‚ΠΎΠ΄ contains () Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ equals() для сравнСния с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом, Π° вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ==.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка Java

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

remove (Object element) удаляСт элСмСнт Π² спискС, Ссли ΠΎΠ½ присутствуСт. ВсС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ списку. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡ… индСкс ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° 1.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сначала добавляСт элСмСнт, Π° Π·Π°Ρ‚Π΅ΠΌ снова удаляСт Π΅Π³ΠΎ.

ΠœΠ΅Ρ‚ΠΎΠ΄ List remove (int index) удаляСт элСмСнт ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу.

ПослС выполнСния этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π° список Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты 1 ΠΈ 2 с индСксами 0 ΠΈ 1.

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Java List содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄ clear (), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удаляСт всС элСмСнты ΠΈΠ· списка ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ всСх элСмСнтов Ρ‚Π°ΠΊΠΆΠ΅ называСтся очисткой.

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС элСмСнты ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ

ΠœΠ΅Ρ‚ΠΎΠ΄ retainAll () способСн ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ всС элСмСнты ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΠ΅Ρ‚ΠΎΠ΄ retain () удаляСт всС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ спискС.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся пСрСсСчСниС Π΄Π²ΡƒΡ… списков.

Π£Π·Π½Π°Ρ‚ΡŒ количСство элСмСнтов

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство элСмСнтов Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ size (). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Подсписок списка

ΠœΠ΅Ρ‚ΠΎΠ΄ subList () ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ List с подмноТСством элСмСнтов ΠΈΠ· исходного List.

ΠœΠ΅Ρ‚ΠΎΠ΄ subList () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ 2 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс β€” это индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· исходного списка для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² подсписок.

ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс являСтся послСдним индСксом подсписка, Π½ΠΎ элСмСнт Π² послСднСм индСксС Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² подсписок. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ подстроки Java String.

ПослС выполнСния list.subList (1,3) подсписок Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты с индСксами 1 ΠΈ 2.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ исходный список содСрТит 4 элСмСнта с индСксами ΠΎΡ‚ 0 Π΄ΠΎ 3. Π’Ρ‹Π·ΠΎΠ² list.subList (1,3) Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ индСкс 1, Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ индСкс 3, сохраняя Ρ‚Π΅ΠΌ самым элСмСнты с индСксами 1 ΠΈ 2.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ list Π² set

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Java Π² Π½Π°Π±ΠΎΡ€(set), создав Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ всС элСмСнты ΠΈΠ· списка. Набор ΡƒΠ΄Π°Π»ΠΈΡ‚ всС Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС элСмСнты списка, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

ΠžΠ±Ρ‰ΠΈΠ΅ списки

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² список, Π½ΠΎ Java позволяСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² список.

Π­Ρ‚ΠΎΡ‚ список Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ экзСмпляры MyObject. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΅Π³ΠΎ элСмСнтов Π±Π΅Π· ΠΈΡ… привСдСния.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Collections sort ().

Если Бписок содСрТит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс Comparable (java.lang.Comparable), Ρ‚ΠΎΠ³Π΄Π° эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ. Π’ этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Класс Java String Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс Comparable, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² СстСствСнном порядкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Collections sort ().

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Comparatorimplementation

Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс Comparable ΠΈΠ»ΠΈ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² порядкС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ compare (), Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Comparatorimplementation (java.util.Comparator).

Π’ΠΎΡ‚ ΠΊΠΎΠ΄ сортировки:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Comparator Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π­Ρ‚Π° рСализация сравниваСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π΅ ΠΌΠ°Ρ€ΠΊΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ Car. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Comparator, которая сравниваСт Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ количСство Π΄Π²Π΅Ρ€Π΅ΠΉ Π² автомобилях.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Comparator с использованиСм Java Lambda. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сортируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ List of Car с использованиСм Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ интСрфСйса Comparator, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сравниваСт экзСмпляры Car ΠΏΠΎ своСму полю:

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ списка нСсколькими Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. Π’Ρ€ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных способа:

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ списка β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Java.

Вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ iterator () интСрфСйса List.

Π’Ρ‹Π·ΠΎΠ² hasNext () выполняСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° while.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° while Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Iterator next () для получСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Iterator.

Если список Π·Π°Π΄Π°Π½ с использованиСм Java Generics, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° while.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ списка с использованиСм Ρ†ΠΈΠΊΠ»Π° For-Each

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ List β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for.

Π¦ΠΈΠΊΠ» for выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° for ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, связан с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ obj.

МоТно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° for.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° For

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ List β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартный Ρ†ΠΈΠΊΠ» for, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ:

Π¦ΠΈΠΊΠ» for создаСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ int ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π΅ 0. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° зацикливаСтся, ΠΏΠΎΠΊΠ° пСрСмСнная int i мСньшС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ пСрСмСнная i увСличиваСтся.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° for обращаСмся ΠΊ элСмСнтам List с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° get (), пСрСдавая Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ i.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Ссли список Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ с использованиСм Java Generics, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для для строки, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ списка Π² качСствС Ρ‚ΠΈΠΏΠ° для локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая присваиваСтся ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту списка Π²ΠΎ врСмя ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’ΠΈΠΏ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° for Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ String. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ список ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ типизируСтся ΠΊΠ°ΠΊ String, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ String.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, компилятор Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ String ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° get (). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ элСмСнт, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΉ get (), Π² String.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ списка с использованиСм API Java Stream

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ способ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· API Java Stream. Для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ· списка. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ· списка Π² Java выполняСтся ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Liststream ().

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ· списка, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π²Ρ‹Π·Π²Π°Π² Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ forEach ().

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° forEach () заставит Stream Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ всСх элСмСнтов ΠΏΠΎΡ‚ΠΎΠΊΠ°.

БрСдняя ΠΎΡ†Π΅Π½ΠΊΠ° / 5. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ голосов:

Или подСлись ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ

Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ нашли ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° свой вопрос.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *