Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Java Array. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Java. Java для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Массив (Π°Π½Π³Π». array) прСдставляСт собой ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большим количСством Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ вашСго ΠΊΠΎΠ΄Π° Π³Π΄Π΅-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, 100 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ для этого Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ. Массив позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большоС количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ массивов являСтся ΠΊΡ€Π°Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ курса Java для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π’Π΅Π΄ΡŒ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основой для ΠΌΠ½ΠΎΠ³ΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Java это, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, ООП, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с массивами Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования java array ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ – ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Помимо ΠΏΡ€ΠΎΡ‡ΠΈΡ… прСимущСств, это избавляСт ΠΎΡ‚ Π½ΡƒΠΆΠ΄Ρ‹ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° очисткой памяти, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° освобоТдаСтся автоматичСски.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ манипуляции ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив прСдставляСтся собой классичСский Java array ΠΈ являСтся ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ связанных ΠΎΠ±Ρ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ элСмСнтов, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ индСкс. Бпособ объявлСния массива ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Π’Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ Java array, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Ρ‚ΠΈΠΏ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, хранящихся Π² Π½Π΅ΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой допустимый Π² Java Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π°Π»Π΅Π΅ ΠΈΠ΄ΡƒΡ‚ имя массива ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ компилятору, Ρ‡Ρ‚ΠΎ данная пСрСмСнная являСтся массивом. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°ΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚. ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ послС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° массива, Ρ‚Π°ΠΊ ΠΈ послС ΠΈΠΌΠ΅Π½ΠΈ массива. ПослС Π·Π½Π°ΠΊΠ° равСнства указываСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ new, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ массив (Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² случаС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ), Ρ‚ΠΈΠΏ элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Π½Π΅ΠΌ (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ совмСстим с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π°Π½Π΅Π΅), ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΈΡ… количСство, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.

НумСрация элСмСнтов Π² Java array начинаСтся с 0. Π’Π°ΠΊ, индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π² Π΄Π°Π½Π½ΠΎΠΌ массивС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 0, Π° ΡˆΠ΅ΡΡ‚ΠΎΠ³ΠΎ – 5. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ элСмСнту массива, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пятому, достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя массива ΠΈ индСкс элСмСнта Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках рядом с ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнту, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ. Однако слСдуСт Π±Ρ‹Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ индСкс, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ сущСствуСт элСмСнта, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² Java

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ряды ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ элСмСнты Π΄Ρ€ΡƒΠ³ΠΈΡ… массивов. Π˜Π½Ρ‹ΠΌΠΈ словами, это массивы массивов. НаиболСС простыми срСди Π½ΠΈΡ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅. На ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈ попытаСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с понятиСм. Для наглядности Π½Π° рисункС Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ синтаксис ΠΈ схСма, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ структуру Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

Как Π²ΠΈΠ΄ΠΈΠΌ, синтаксис Π½Π΅ особо отличаСтся ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ структуру. Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… скобках ΠΌΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ мСсто ΠΏΠΎΠ΄ 5 элСмСнтов. Π­Ρ‚ΠΈ элСмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΈΡ‡Π΅ΠΌ ΠΈΠ½Ρ‹ΠΌ ΠΊΠ°ΠΊ ссылками Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ массивы. ΠŸΡ€ΠΈ этом Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ числом Π²ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹Ρ… скобках. По сути, Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ элСмСнтов, Π² памяти выдСляСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ мСсто, Π³Π΄Π΅ хранится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ массива (length). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами осущСствляСтся посрСдством Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² for.

НСрСгулярныС массивы

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив являСтся массивом массивов. Π­Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΆΠ΅ выяснили. Но ΠΌΠΎΠ³ΡƒΡ‚ Π»ΠΈ массивы, содСрТащиСся Π² Π½Π΅ΠΌ, ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ? ΠžΡ‚Π²Π΅Ρ‚ – Π΄Π°, ΠΌΠΎΠ³ΡƒΡ‚. Для этого Π² Java прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΠ» Π±Ρ‹ Π² сСбС Ρ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массива Π΄Π»ΠΈΠ½ΠΎΠΉ 2, 3 ΠΈ 4 соотвСтствСнно. ΠžΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΎΠ½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

intarr[][] = newint[3][];

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ число Π²ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹Ρ… скобках. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массивов Π² arr дСлаСтся Ρ‚Π°ΠΊ:

arr[0] = new int[2];

arr[1] = new int[3];

arr[2] = newint[4];

ΠžΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ элСмСнту ΠΏΠΎΠ΄ индСксом 0, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ массив, ΠΌΡ‹ объявляСм Π΅Π³ΠΎ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 2. Под элСмСнтом с индСксом 1 Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ массив Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 3, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ВсС довольно просто.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис объявлСния java array

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массивы ΠΌΠΎΠΆΠ½ΠΎ ΠΈ нСпосрСдствСнно ΠΏΡ€ΠΈ ΠΈΡ… создании. Π­Ρ‚ΠΎ довольно просто.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° объявлСниС массивов jerseyNumber ΠΈ playerName.

Π’ случаС с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π΄Π°Π½Π½ΠΎΠ΅ объявлСниС выглядит Ρ‚Π°ΠΊ:

int[][] arr = {

{1, 2, 3},

{4, 5, 6},

{7, 8, 9}

}

Для этого вмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° new ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈΠ΄Π΅Ρ‚ пСрСчислСниС всСх элСмСнтов. Java Π² этом случаС автоматичСски выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΈΡ… ΠΈ индСксируСт ΠΈΡ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс Arrays

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ сущностями, ΠΊΠ°ΠΊ массивы Π² Java, Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.util имССтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс Arrays, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт мноТСство статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ основных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² прСдставлСн Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ самыС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Java array ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

— copyOf (массив, Π΄Π»ΠΈΠ½Π°) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹. Если пСрСданная Π΄Π»ΠΈΠ½Π° большС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ массива, Ρ‚ΠΎ всС «лишниС» элСмСнты Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (0, Ссли простой Ρ‚ΠΈΠΏ, ΠΈ null , Ссли ссылочный).

— copyOfRange (массив, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс, послСдний индСкс) – Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° рисункС, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Он ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ индСксами, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ заканчивая послСдним.

— sort (массив) – сортируСт элСмСнты массива ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ.

— fill (массив, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) – заполняСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

— binarySearch (массив, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ элСмСнт с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ находится Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΌ отсортированном массивС. Если ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ элСмСнт отсутствуСт, Ρ‚ΠΎ возвращаСтся ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ статичСскиС, Ρ‚ΠΎ для ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π° Π½Π΅ трСбуСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляр класса Arrays. Они Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· Π½Π΅Π³ΠΎ: Arrays.sort(arr).

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

ΠœΡ‹ рассмотрСли Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ аспСкты ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ массивов, ΠΈ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ приступаСт ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Java для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, этого Ρ…Π²Π°Ρ‚ΠΈΡ‚ для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ понимания Ρ‚Π°ΠΊΠΎΠΉ сущности, ΠΊΠ°ΠΊ массив, ΠΈ основных ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° даст большС понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта. ΠŸΠΎΡΡ‚ΠΎΠΌ Π½Π΅ ΠΏΠΎΠ»Π΅Π½ΠΈΡ‚Π΅ΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, манипулируя массивами Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами.

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс Array Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠΆΠ΅ Π² Β«Π±ΠΎΠ΅Π²Ρ‹Ρ…Β» условиях, поэтому для Π½Π°Ρ‡Π°Π»Π° рСкомСндуСтся ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС основныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠœΠ°ΡΡΠΈΠ²Ρ‹. Π§Π°ΡΡ‚ΡŒ 4 – ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ попрактикуСмся с массивами, рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ JDK, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ обсудим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π·Π° Ρ€Π°ΠΌΠΊΠ°ΠΌΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… постов.

Π’ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ JDK сущСствуСт класс java.util.Arrays содСрТащий ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами. ΠœΡ‹ Ρ‚ΡƒΡ‚ рассмотрим ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС, Π° лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π½ΠΎ ссылка Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ сами.

Π‘ΠΏΠ΅Ρ€Π²Π° Π΅Ρ‰Π΅ Ρ€Π°Π· Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ Ρ‚Π΅ΠΌΡƒ ссылок. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сравнСния Π΄Π²ΡƒΡ… массивов:

int

[] a = { 1, 2 };
int[] b = { 1, 2 };
println(«a==b is » + (a == b)); // сравниваСт ссылки
println(«a. equals(b) is » + a.equals(b)); // сравниваСт ссылки

Π₯отя содСрТимоС массивов a ΠΈ b Ρ€Π°Π²Π½ΠΎ, Π½ΠΎ Ссли ΠΌΡ‹ просто сравним a==b, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ false, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сравнСниС ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠœΠ΅Ρ‚ΠΎΠ΄ equals сущСствуСт для ΠΌΠ½ΠΎΠ³ΠΈΡ… классов Java ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ½ сравниваСт содСрТимоС этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ для массивов ΠΎΠ½ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ сравниваСт ссылки.

Для сравнСния ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов сущСствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ Arrays.equals, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сравниваСт содСрТимоС массивов. Для сравнСния ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Arrays.deepEquals.

ΠœΠ΅Ρ‚ΠΎΠ΄Β 

Arrays.equals(a, b)

Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сравнСния массивов Π° ΠΈ b выдаст true.

Для копирования ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Arrays.copyOf, ΠΊ соТалСнию, для ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅Ρ‚. По сущСству, Ссли ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСмный ΠΌΠ΅Ρ‚ΠΎΠ΄ java.lang.System.arraycopy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ кстати ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро, Π½ΠΎ ΠΊ соТалСнию Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов.

Π‘ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Arrays.copyOf ΠΌΡ‹ ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ, ΠΊΠΎΠ³Π΄Π° рассматривали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ сортировки ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Array03.java. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Arrays.toString ΠΈ Arrays.deepToString ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы  соотвСтствСнно Π² строку, Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° консоль. Π‘ Π½ΠΈΠΌΠΈ ΠΌΡ‹ ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ постС.

ΠœΠ΅Ρ‚ΠΎΠ΄Π° Arrays.sort сортируСт ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для сортировки ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Java Π½Π΅Ρ‚.

ΠœΠ΅Ρ‚ΠΎΠ΄ Arrays.binarySearch ΠΈΡ‰Π΅Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌ массивС Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ индСкс.

Π’ΠΎΠΎΠ±Ρ‰Π΅ класс Arrays содСрТит достаточно ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², поэтому, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ свой, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π° Π½Π΅Ρ‚ Π»ΠΈ ΡƒΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ всС Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅:

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Π’ΡƒΡ‚ всС просто, поэтому ΠΈΠ΄Π΅ΠΌ сразу дальшС ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ java.lang.System.arraycopy. Он ΠΎΡ‡Π΅Π½ΡŒ интСрСсСн, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро, быстрСС Ρ‡Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†ΠΈΠΊΠ»Π° for. Рассмотрим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ копирования массива состоящСго ΠΈΠ· 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ int, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° int Ρ€Π°Π²Π½ΠΎΠ΅ индСксу Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. Π”Π°ΠΆΠ΅ Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива значСниями трСбуСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. Π”Π°Π»Π΅Π΅ происходит сортировка Ρ†ΠΈΠΊΠ»ΠΎΠΌ for ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ java.lang.System.arraycopy. И выводится врСмя Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π² ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…. Как говорится почувствуйтС Ρ€Π°Π·Π½ΠΈΡ†Ρƒ.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ (зависит ΠΎΡ‚ мощности вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°):

ΠŸΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ подзависла. Но Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ господа! Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡ… Π΅Ρ‰Π΅ Π΄Π²Π° Ρ€Π°Π·Π° ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ – это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя.

Π•Ρ‰Π΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ возмоТности ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ массивы Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π₯ΠΎΡ‚ΡŒ ΠΏΠΎΠΊΠ° ΠΌΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π½Π΅ рассматривали, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ рассматривали классы, Π½ΠΎ всС ΠΆΠ΅ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это связано с массивами, Ρ‚ΠΎ рассмотрим Ρ‚ΡƒΡ‚. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ понятно, Ρ‚ΠΎ просто Π½Π°ΠΌΠΎΡ‚Π°ΠΉΡ‚Π΅ Π½Π° ус ΠΈ просто ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ количСства Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (Varargs). Π­Ρ‚ΠΎΡ‚ синтаксис стал доступСн Π° Java 5. Π’Π°ΠΊ ΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ синтаксис ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивам.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ максимальноС число ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Π½Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива чисСл.

Π’ строкС 17 описан ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Π΅Π· использования синтаксиса Varargs. Π’ строкС 24 Π² описании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ синтаксис Varargs. БоотвСтствСнно ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎ Ρ€Π°Π·Π½ΠΎΠΌΡƒ (строки 9 ΠΈ 13 соотвСтствСнно), хотя ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ, просто Π² случаС использования синтаксиса Varargs ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈ понятСн.

По сущСству Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ max_new numbers это Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив чисСл ΠΈ соотвСтствСнно с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с массивом.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ поясню Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

ΠœΠ΅Ρ‚ΠΎΠ΄ main() заканчиваСтся Π½Π° строкС 15, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ заканчиваСтся Π½Π° этой строкС.

ПослС строки 15 ΠΈΠ΄Π΅Ρ‚ объявлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² max_old ΠΈ max_new, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² строках 9 ΠΈ 13 соотвСтствСнно.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Π΄Π²Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ особСнности этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° max_new()Β  пСрСмСнная numbers дСйствуСт ΠΊΠ°ΠΊ массив. Π­Ρ‚ΠΎ обусловлСно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ numbers являСтся массивом. БинтаксичСская конструкция Β  просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ компилятору, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈ Ρ‡Ρ‚ΠΎ эти Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² массивС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся пСрСмСнная numbers.

ΠœΠ΅Ρ‚ΠΎΠ΄ max_new() ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ количСством Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС, ΠΈ вовсС Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². АргумСнты автоматичСски ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² массив ΠΈ ссылка Π½Π° Π½Π΅Π³ΠΎ пСрСдаСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ numbers. Π’ случаС отсутствия Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄Π»ΠΈΠ½Π° массива Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ.

Наряду с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ β€œΠ½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅β€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Однако ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ послСдним ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ объявлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²ΠΏΠΎΠ»Π½Π΅ допустимо:

int

doIt(int a, int b, double c, int… vals)

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ doIt() , ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Ρ‚Ρ€Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ vals.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ vararg Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ послСдним. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ объявлСниС записано Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:

int

doIt(int a, int b, double c, int… vals, boolean stopFlag) // Ошибка!

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдпринимаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° объявлСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° послС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚ΠΈΠΏΠ° vararg, Ρ‡Ρ‚ΠΎ нСдопустимо.

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слСдуСт Π·Π½Π°Ρ‚ΡŒ: ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° varargs. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ объявлСниС Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅Π²Π΅Ρ€Π½ΠΎ:

int

doIt(int a, int b, double c, int… vals, double… morevals) // Ошибка!

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° объявлСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚ΠΈΠΏΠ° vararg нСдопустима.

Рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с varargs ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ справа.

Π’ строкС 9 происходит Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs, Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ отсутствуСт.

Π’ строкС 10 Π² varargs ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π°Π² строкС 12 Ρ‚Ρ€ΠΈ.

Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ varargs ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив (строка 15).

Π’ varargs ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π½ΠΎ ΠΈΠ· Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ взято Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ – ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сгСнСрируСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Π― Π΄ΡƒΠΌΠ°ΡŽ сразу слСдуСт Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΠΎ возмоТности ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… varargs ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈ этом Π±Ρ‹Ρ‚ΡŒ, хотя сСйчас, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΈ Π½Π΅ понятно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½ΠΎ всС ΠΆΠ΅ стоит Π·Π°Π²ΡΠ·Π°Ρ‚ΡŒ ΡƒΠ·Π΅Π»ΠΎΠΊ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Если ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎ простому, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², это объявлСниС Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ количСством ΠΈ/ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ/ΠΈΠ»ΠΈ Ρ€Π°Π·Π½ΠΎΠ΅ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π›ΡƒΡ‡ΡˆΠ΅ всС это ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈ Ρ‚ΠΎΠ³Π΄Π° всС станСт Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ясно.

Π’ строках с 9 ΠΏΠΎ 14 происходит Π²Ρ‹Π·ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° 11 содСрТит ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ строку ΠΈ varargs ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚ΠΈΠΏΠ° double. Π­Ρ‚ΠΎ строку я вставил для ΠΏΡƒΡ‰Π΅Π³ΠΎ понимания происходящСго.

Π‘ 17 строки ΠΈΠ΄Π΅Ρ‚ объявлСниС ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ вызываСтся. ОсобСнно Π½Π° строку 23. Π’ Π½Π΅ΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ varargs!

Π₯отя сСйчас это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π½Π΅ особо понятно, Π½ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΡ€ΠΎΡ‡ΠΊΠ΅ ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ! ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ varargs, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (строка 23). НапримСр, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ varArgs()Β  ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ varArgs(int numbers). Π­Ρ‚Π° спСциализированная вСрсия вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° int. Π’ случаС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² int ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ varargs-Π²Π΅Ρ€ΡΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs(int… numbers) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π² строкС 27.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Π΅ ошибки. Они связаны с Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹.

Β 

НапримСр, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs Π² строкС 16 Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° vararg ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым, этот Π²Ρ‹Π·ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ varArgs(int…), varArgs(double…) ΠΈΠ»ΠΈ varArgs(boolean…). ВсС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ допустимы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π΅Π½.

Если ΠΆΠ΅ ΠΌΡ‹ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ допустим описаниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для double… ΠΈ boolean… , Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ оставим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ описаниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° int… ΠΈ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ² с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ Π±Π΅Π· Ρ‚ΠΎ всС откомпилируСтся ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сгСнСрируСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСопрСдСлСнности. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ вСрсии ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs()Β  ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€:

static

void varArgs(int … v)
static void varArgs(int n, int … v)

Π₯отя списки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° varArgs()Β  Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, компилятор Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°:

varArgs

(1)

Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΎΠ½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ varArgs(int…)Β  с ΠΎΠ΄Π½ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ varArgs(int, int…)Β  Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹? ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ситуация Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Π°.

Из-Π·Π° ошибок нСопрСдСлСнности, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… описанным, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях придСтся ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ошибки нСопрСдСлСнности слуТат ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… изъянов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ построСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

Ну ΠΈ Π½Π° послСдок нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ строк, заполняСт Π΅Π³ΠΎ числами ΠΈ Π·Π°Ρ‚Π΅ΠΌ сортируСт ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всС это Π½Π° консоль.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Π—Π° сим с массивами ΠΏΠΎΠΊΠ° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ, Π½ΠΎ ΠΌΡ‹ с Π½ΠΈΠΌΠΈ Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π· встрСтимся.

ОбъявлСниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ доступ ΠΊ массиву [ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ]

Java, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных языков программирования в ΠΌΠΈΡ€Π΅, являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° инструмСнтов любого профСссионала Π² области Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π₯отя Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ для понимания этого ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ языка, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ массивах Π² Java. ΠœΠ°ΡΡΠΈΠ²Ρ‹ β€” это простая, Π½ΠΎ ваТная концСпция программирования Π½Π° Java. Π―Π²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистом ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠΌ, Π²Ρ‹ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх аспСктах программирования Π½Π° Java.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² Java?

Массив относится ΠΊ структурС Π΄Π°Π½Π½Ρ‹Ρ…, которая содСрТит ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ элСмСнты. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС элСмСнты массива ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π­Ρ‚ΠΎ массив ΠΈΠ· сСми элСмСнтов. ВсС элСмСнты Ρ†Π΅Π»Ρ‹Π΅ ΠΈ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅. Π—Π΅Π»Π΅Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΠΎΠ΄ массивом называСтся индСксом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда начинаСтся с нуля ΠΈ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ n-1 элСмСнтов. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ элСмСнтов сСмь, индСкс ΠΎΡ‚ нуля Π΄ΠΎ ΡˆΠ΅ΡΡ‚ΠΈ. БущСствуСт Ρ‚Ρ€ΠΈ основных свойства массива:Β 

  1. ДинамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅: Π² массивах ΠΏΠ°ΠΌΡΡ‚ΡŒ создаСтся динамичСски, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ объСм памяти, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для ΠΊΠΎΠ΄Π°.
  2. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ хранятся ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ: ВсС элСмСнты хранятся ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π­Ρ‚ΠΎ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ массив.
  3. Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠΌΠ΅ΠΆΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ: элСмСнты Π² массивах хранятся Π² смСТных позициях. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ располоТСниС Π΅Π³ΠΎ элСмСнтов.
Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java: Руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ Java

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° массивов Π² Java

  • ΠœΠ°ΡΡΠΈΠ²Ρ‹ Java ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСксов
  • Π›Π΅Π³ΠΊΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈΒ 

НСдостатки массивов Π² Java

  • Π Π°Π·ΠΌΠ΅Ρ€ массива Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ послС Π΅Π³ΠΎ объявлСния β€” массивы ΠΈΠΌΠ΅ΡŽΡ‚ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€
  • Java Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массивы Π² Java, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ массивы Π² Java.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ массив Π² Java

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Java Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ массив. Π•Π³ΠΎ синтаксис:Β 

.

Π—Π΄Π΅ΡΡŒ Ρ‚ΠΈΠΏ int, String, double ΠΈΠ»ΠΈ long. Var-name β€” это имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива.

ОбъявлСниС массива в Java

Π­Ρ‚ΠΎ Π΄Π²Π° способа объявлСния массива Π² Java. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ значСния элСмСнтам массива ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠœΡ‹ объявили массив ΠΎΠ±Ρ€ цСлочислСнного Ρ‚ΠΈΠΏΠ°. Π Π°Π·ΠΌΠ΅Ρ€ массива Ρ€Π°Π²Π΅Π½ 5, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· пяти элСмСнтов. ΠœΠ°ΡΡΠΈΠ²Ρƒ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ элСмСнты для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ индСкса. ΠœΡ‹ запустим Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ элСмСнтов массива. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-счСтчик Β«iΒ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для увСличСния ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ индСкса послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, мСньшС Π»ΠΈ тСкущая позиция индСкса Π΄Π»ΠΈΠ½Ρ‹ массива.

Β 

ПослС выполнСния этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот массив, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы Π² Java, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ‚ΠΈΠΏΡ‹ массивов.


ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡Π½ΡƒΡŽ основу для Java, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка программирования Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ курса сСртификации Java.

Π’ΠΈΠΏΡ‹ массивов

БущСствуСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° массивов. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ эти Ρ‚ΠΈΠΏΡ‹ массивов Π² соотвСтствии с трСбованиями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ:

1. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

Π’Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ массив, элСмСнты хранятся Π² ΠΎΠ΄Π½ΠΎΠΉ строкС. НапримСр:Β 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ массив ΠΈΠ· пяти элСмСнтов. Они хранятся Π² ΠΎΠ΄Π½ΠΎΠΉ строкС ΠΈΠ»ΠΈ Π² сосСдних ячСйках памяти.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΊΠΎΠ΄Π΅ Java. Π—Π΄Π΅ΡΡŒ ΠΏΡΡ‚ΡŒ элСмСнтов: 1, 2, 3, 4 ΠΈ 5. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ элСмСнтов массива. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

2. Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы хранят Π΄Π°Π½Π½Ρ‹Π΅ Π² строках ΠΈ столбцах:

Π—Π΄Π΅ΡΡŒ массив состоит ΠΈΠ· Π΄Π²ΡƒΡ… строк ΠΈ пяти столбцов. ИндСкс начинаСтся ΠΎΡ‚ 0,0 Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π΄ΠΎ 1,4 Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ.

Π’ этом Java-ΠΊΠΎΠ΄Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. Π£ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ строки ΠΈ Ρ‚Ρ€ΠΈ столбца. Π‘ΠΊΠΎΠ±ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ строки, Π° количСство элСмСнтов β€” столбцы. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° for : ΠΎΠ΄ΠΈΠ½ для строк ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² строкС. Когда ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:Β 

3. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

Π­Ρ‚ΠΎ комбинация Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ массивов ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… массивов . ΠœΡ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… строк ΠΈ столбцов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:Β 

.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Ρ€ΠΈ строки ΠΈ Ρ‚Ρ€ΠΈ столбца, Π½ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π°

для Ρ†ΠΈΠΊΠ»ΠΎΠ² . НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько строк ΠΈ столбцов Π²Π²Π΅Π΄Π΅Π½ΠΎ, число для ΠΏΠ΅Ρ‚Π΅Π»ΡŒ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ Π΄Π²ΡƒΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… массивов, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½ΠΈΠΆΠ΅.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ с использованиСм массивов Java

/* Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для нахоТдСния суммы всСх элСмСнтов массива */

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ всС элСмСнты, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² my_array[] , ΠΈ выдаст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

УмноТСниС с использованиСм массивов Java

/* Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для нахоТдСния суммы всСх элСмСнтов массива */

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ всС элСмСнты, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²

my_array[] ΠΈ вывСсти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с использованиСм массивов Java

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ массив Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Arrays.copyOf() .

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° сохранит элСмСнты массива « Π²ΠΎ вновь созданном массивС «.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с использованиСм массивов Java

Java ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° clone() для создания Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск с использованиСм массивов Java

Для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания массивов рСкомСндуСтся ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска. ВсС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска ΠΈ сортировки Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с массивов.

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск β€” это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для поиска элСмСнта Π² массивС. Он Π΄Π΅Π»ΠΈΡ‚ массив ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, ΠΈ элСмСнты Π² массивС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² порядкС возрастания. Π—Π°Ρ‚Π΅ΠΌ сравниваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта ΠΈ срСднСго элСмСнта массива. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта мСньшС значСния срСднСго элСмСнта, большая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° массива игнорируСтся, ΠΈ поиск проводится Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ с Ρ‚Π΅ΠΌ ΠΆΠ΅ процСссом.

НапримСр:Β 

Π£ нас Π΅ΡΡ‚ΡŒ массив ΠΈΠ· сСми элСмСнтов; допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ элСмСнт 11. Алгоритм примСняСтся, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ элСмСнт с порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Java для Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ поиска:

Π­Ρ‚ΠΎ ΠΊΠΎΠ΄ класса Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ поиска.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ main().

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ элСмСнты массива ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Π·Π°Ρ‚Π΅ΠΌ просит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π°ΠΉΡ‚ΠΈ элСмСнт Π² массивС. Π’Ρ‹Π²ΠΎΠ΄ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚:Β 

Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты Π² порядкС возрастания. Π—Π°Ρ‚Π΅ΠΌ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:Β 

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

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ основы массивов Π² Java. Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ массивы ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠΌ значСния. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° массивов с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… вмСстС с ΠΊΠΎΠ΄ΠΎΠΌ Java. Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для добавлСния элСмСнтов Π² массив, умноТСния элСмСнтов массива, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массивы. НаконСц, Ρƒ вас появилась идСя Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска, которая прояснила Π±Ρ‹ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ массива. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ массивах Java, посмотритС это Π²ΠΈΠ΄Π΅ΠΎ.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅?

Если Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ свою ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² области Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ курсом Simplilearn Full Stack Java Developer. Π­Ρ‚Π° комплСксная ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° смСшанного обучСния Π½Π°ΡƒΡ‡ΠΈΡ‚ вас всСму, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± инструмСнтах ΠΈ ​​мСтодах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² комплСкс ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, совСтов экспСртов ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… отраслСвых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сСртификат, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ своСй ΠΌΠ΅Ρ‡Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ слуТбС.

Π§Π΅Π³ΠΎ Ρ‚Ρ‹ ТдСшь?

404: Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠΎ этому адрСсу, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½Π΅ сущСствуСт. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ссылки. ΠœΡ‹ приносим свои извинСния Π·Π° доставлСнныС нСудобства.

Π§Ρ‚ΠΎ я ΠΌΠΎΠ³Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сСйчас?

Если Π²Ρ‹ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ посСщаСтС TechTarget, Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ! Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ встрСчаСмся. Π’ΠΎΡ‚ ΠΊΡƒΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΉΡ‚ΠΈ ΠΎΡ‚ΡΡŽΠ΄Π°:

Поиск
  • Π£Π·Π½Π°ΠΉΡ‚Π΅ послСдниС новости.
  • Наша домашняя страница содСрТит ΡΠ°ΠΌΡƒΡŽ ΡΠ²Π΅ΠΆΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.
  • Наша страница «О нас» содСрТит Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сайтС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, TheServerSide.com.
  • Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‚ вас.

Поиск ΠΏΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ

SearchAppArchitecture

  • Растущая Ρ€ΠΎΠ»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄Π°Π½Π½Ρ‹Π΅

    Π‘ΠΎΠ»ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ, растущая Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, источников Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ пониманию ИВ-ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ . ..

  • 12 Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ бСзопасности API для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ вашСго бизнСса

    Как ΠΈ Π² любом Ρ†ΠΈΠΊΠ»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ API Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ встроСна с самого Π½Π°Ρ‡Π°Π»Π°. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ этим рСкомСндациям ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ…

  • ΠžΡΠ½ΠΎΠ²Ρ‹, прСимущСства ΠΈ риски сотовой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹

    Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с микросСрвисами, эта концСпция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ, Π½ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° основС ячССк ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности …

ПоискSoftwareQuality

  • ДокумСнтация ΠΏΠΎ API ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

    На ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ API World Π½Π° этой Π½Π΅Π΄Π΅Π»Π΅ экспСрты ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ API, ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ способы ΠΈΡ… устранСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ …

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ хотят ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ эффСктивности Π² Java 20

    Java 20, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΠΈ профилирования, Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹Π΅ обновлСния . ..

  • ΠžΠ±Π·ΠΎΡ€ тСстирования API Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…

    ВСстированиС API, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ тСстированиС API Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…, отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… тСстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния своим ΠΎΠ±Ρ‰ΠΈΠΌ процСссом ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ показатСлями…

SearchCloudComputing

  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого руководства настройтС Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс AWS Batch

    AWS Batch позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ тысячи ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² AWS. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ этому руководству, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ этот сСрвис, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный…

  • ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹ Oracle Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ Oracle Cloud ΠΊΠ°ΠΊ свои собствСнныС

    Alloy, новая инфраструктурная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, позволяСт ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌ ΠΈ Π°Ρ„Ρ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ с Oracle прСдприятиям ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ OCI ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π² Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… …

  • Dell добавляСт Project Frontier для ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Π³ΠΈΠΏΠ΅Ρ€ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ‚Π½ΡƒΡŽ инфраструктуру с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Azure

    На этой Π½Π΅Π΄Π΅Π»Π΅ Dell прСдставила новости Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… мСроприятиях β€” ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСмонстрировало ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для управлСния ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами, Π΄Ρ€ΡƒΠ³ΠΎΠ΅ β€” ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½ΠΈΠ΅ Π³ΠΈΠΏΠ΅Ρ€ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ‚Π½ΠΎΠΉ инфраструктуры . ..

ΠŸΠΎΠΈΡΠΊΠ‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

  • Как Sheltered Harbour ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π±Π°Π½ΠΊΠ°ΠΌ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с кибСрвосстановлСниСм

    Π‘Π°Π½ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² состоянии быстро Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ послС ΠΊΠΈΠ±Π΅Ρ€Π°Ρ‚Π°ΠΊΠΈ β€” слоТная Π·Π°Π΄Π°Ρ‡Π°, учитывая объСм ΠΈ ΠΈΠ·ΠΎΡ‰Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊ. …

  • Π’ΠΈΠΏΡ‹ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… врСдоносных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ способы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π½ΠΈΡ…

    ΠžΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ врСдоносноС ПО Π½Π΅ исчСзнСт Π² блиТайшСС врСмя, Π½ΠΎ Π² распоряТСнии ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ появляСтся всС большС инструмСнтов для Π±ΠΎΡ€ΡŒΠ±Ρ‹ с …

  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ кибСрбСзопасности мСтавсСлСнной: ΠΊΠ°ΠΊ ΠΈΡ… Ρ€Π΅ΡˆΠΈΡ‚ΡŒ

    По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ мСтавсСлСнная ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ мноТСство Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ кибСрбСзопасности ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ПоискAWS

  • AWS Control Tower стрСмится ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ нСсколькими ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ записями

    МногиС ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎ всСх сил ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ своСй ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй AWS, Π½ΠΎ Control Tower ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.