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

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Java

Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния

Имя

ОписаниС

boolean

contains(double[] array, double value)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли массив содСрТит Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

boolean

contains(int[] array, int value)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли массив содСрТит Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

boolean

contains(Object[] array, Object value)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли массив содСрТит Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .equals().

int

indexOf(double[] array, double value)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива, хранящСго Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

int

indexOf(int[] array, int value)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива, хранящСго Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

int

indexOf(Object[] array, Object value)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива, хранящСго Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .equals(). Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

int

indexOfMax(double[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс максимального значСния, содСрТащСгося Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.

int

indexOfMax(int[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс максимального значСния, содСрТащСгося Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.

int

indexOfMin(double[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс минимального значСния, содСрТащСгося Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.

int

indexOfMin(int[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс минимального значСния, содСрТащСгося Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.

double

max(double[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.

Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

double

max(int[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

double

min(double[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

double

min(int[] array)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли массив пуст ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт (Ρ€Π°Π²Π΅Π½ null).

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Java. ΠšΡƒΡ€Ρ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java»

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

double[] a = new double[10];
String[] b = new String[5];

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам массива происходит ΠΏΠΎ ΠΈΡ… индСксам, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

public class ArrayClass {
    public static void main(String[] args) {
        int[] a = new int[3];
        a[0] = 15;
        a[1] = 12;
        a[2] = -3;
 
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
 
        for (int i : a) {
            System.out.println(i);
        }
 
        int[][] b = new int[2][2];
        b[0][0] = -1;
        b[0][1] = 1;
        b[1][0] = 1;
        b[1][1] = -1;
 
        for (int[] ints : b) {
            for (int i : ints) {
                System.
out.println(i); } } } }

Если трСбуСтся сразу ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ элСмСнтам массива значСния, Ρ‚ΠΎ значСния ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках нСпосрСдствСнно послС Π·Π½Π°ΠΊΠ° присваивания:

String[] s = {"ab", "cd", "ef"};

Π’ Java Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ массива ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ нСльзя.

БущСствуСт статичСский класс Arrays, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ рядовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами – сортировку, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран, сравнСниС ΠΈ Π΄Ρ€.

import java.util.Arrays; import java.util.Random; public class ArraysTest { public static void main(String[] args) { Random random = new Random(); int[] a = new int[10]; for (int i = 0; i < 10; i++) { a[i] = random.nextInt(100); } System.out.println(Arrays.toString(a)); Arrays.sort(a); System.out.println(Arrays.toString( Arrays.copyOf(a, 5))); } }

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ выполнСния:

[22, 19, 58, 36, 45, 70, 10, 36, 91, 30]

[10, 19, 22, 30, 36]

ΠœΠ΅Ρ‚ΠΎΠ΄ sort() сортируСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° массив.

ΠœΠ΅Ρ‚ΠΎΠ΄ copyOf() ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство элСмСнтов массива. ΠŸΡ€ΠΈ этом создаСтся Π½ΠΎΠ²Ρ‹ΠΉ массив.

МоТно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² собствСнного класса:

public class ArrayOfObjects {
    public static void main(String[] args) {
        Book[] shelf = new Book[3];
        shelf[0] = new Book("Red");
        shelf[1] = new Book("Green");
        shelf[2] = new Book("Blue");
        System.out.println(shelf[1].title);
    }
}
 
class Book {
    String title;
    Book(String title) {
        this.title = title;
    }
}

ΠœΠ°ΡΡΠΈΠ²Ρ‹ | Collections | Scala Documentation

ΠœΠ°ΡΡΠΈΠ²Ρ‹ особый Π²ΠΈΠ΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π² Scala. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Scala массивы ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ массивам ΠΈΠ· Java. НапримСр, Scala массив

Array[Int] Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Java int[], Π° Array[Double] ΠΊΠ°ΠΊ Java double[] ΠΈ Array[String] ΠΊΠ°ΠΊ Java String[] Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Scala массивы Π΄Π°ΡŽΡ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Ρ‡Π΅ΠΌ ΠΈΡ… Java Π°Π½Π°Π»ΠΎΠ³ΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Scala массивы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Ρ‹ (generic). Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ Array[T], Π³Π΄Π΅ T Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-Ρ‚ΠΈΠΏ массива ΠΈΠ»ΠΈ ΠΆΠ΅ абстрактный Ρ‚ΠΈΠΏ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Scala массивы совмСстимы со списками (Seq) Scala — Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Array[T] Π½Π° Π²Ρ…ΠΎΠ΄ Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ трСбуСтся Seq[T]. Ну ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Scala массивы Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Ρƒ списков. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

scala> val a1 = Array(1, 2, 3)
a1: Array[Int] = Array(1, 2, 3)
scala> val a2 = a1 map (_ * 3)
a2: Array[Int] = Array(3, 6, 9)
scala> val a3 = a2 filter (_ % 2 != 0)
a3: Array[Int] = Array(3, 9)
scala> a3.reverse
res0: Array[Int] = Array(9, 3)

Учитывая Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Scala массивы ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ массивам ΠΈΠ· Java, ΠΊΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности массивов Π² Scala? РСализация массивов Π² Scala постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нСявныС прСобразования. Π’ Scala массив Π½Π΅ пытаСтся ΠΏΡ€ΠΈΡ‚Π²ΠΎΡ€ΡΡ‚ΡŒΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Он ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π² основС массива Π½Π΅ являСтся ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΎΠΌ Seq. ВмСсто этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ β€œΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π½ΠΈΠ΅β€, происходит нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ массивами ΠΈ экзСмплярами класса scala.collection.mutable.ArraySeq, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся подклассом Seq. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

scala> val seq: collection.Seq[Int] = a1
seq: scala.collection.Seq[Int] = ArraySeq(1, 2, 3)
scala> val a4: Array[Int] = seq.toArray
a4: Array[Int] = Array(1, 2, 3)
scala> a1 eq a4
res1: Boolean = false

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массивы совмСстимы с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ происходит нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· массивов Π² ArraySeqΡ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚ ArraySeq ΠΊ Array, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ toArray, описанный Π² Iterable. ПослСдняя строка Π² консолС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ Π·Π°Ρ‚Π΅ΠΌ распаковка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ toArray создаСт копию исходного массива.

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ примСняСтся ΠΊ массивам. Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ просто β€œΠ΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚β€ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (Seq) ΠΊ массивам, Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сам массив Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. β€œΠ”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅β€ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массив ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ArrayOps, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ArrayOps Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½Ρ‹ΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ нСдоступСн послС обращСния ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ создания Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя нСявными прСобразованиями Π½Π° массивах ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

scala> val seq: collection.Seq[Int] = a1
seq: scala.collection.Seq[Int] = ArraySeq(1, 2, 3)
scala> seq.reverse
res2: scala.collection.Seq[Int] = ArraySeq(3, 2, 1)
scala> val ops: collection.ArrayOps[Int] = a1
ops: scala.collection.ArrayOps[Int] = scala.collection.ArrayOps@2d7df55
scala> ops. reverse
res3: Array[Int] = Array(3, 2, 1)

Π’Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² reverse Π½Π° seq, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ArraySeq, даст снова ArraySeq. Π­Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ массивы — это Seqs, ΠΈ Π²Ρ‹Π·ΠΎΠ² reverse Π½Π° любом Seq даст снова Seq. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π²Ρ‹Π·ΠΎΠ² reverse Π½Π° экзСмплярС класса ArrayOps даст Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Array, Π° Π½Π΅ Seq.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ArrayOps, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ искусствСнный ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ лишь, Ρ‡Ρ‚ΠΎΠ± ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ с ArraySeq. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ создаСтС экзСмпляры класса ArrayOps. Π’Ρ‹ просто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Seq Π½Π° массивС:

scala> a1.reverse
res4: Array[Int] = Array(3, 2, 1)

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ArrayOps автоматичСски вставляСтся Ρ‡Π΅Ρ€Π΅Π· нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ строка Π²Ρ‹ΡˆΠ΅ эквивалСнтна

scala> intArrayOps(a1).reverse
res5: Array[Int] = Array(3, 2, 1)

Π³Π΄Π΅ intArrayOps — нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ вставлСно Ρ€Π°Π½Π΅Π΅. Π’ связи с этим Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос, ΠΊΠ°ΠΊ компилятор Π²Ρ‹Π±Ρ€Π°Π» intArrayOps вмСсто Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ нСявного прСобразования Π² ArraySeq Π² строкС Π²Ρ‹ΡˆΠ΅. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΎΠ±Π° прСобразования ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ массив Π² Ρ‚ΠΈΠΏ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ reverse. ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π° нСявных прСобразования ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ArrayOps ΠΈΠΌΠ΅Π΅Ρ‚ больший ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‡Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ArraySeq. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ опрСдСляСтся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Predef, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π² классС scala.LowPriorityImplicits, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Predef наслСдуСт. НСявныС прСобразования Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классах ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ прСобразованиями Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классах. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΎΠ±Π° прСобразования ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹, выбираСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Predef. ΠžΡ‡Π΅Π½ΡŒ похоТая схСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для строк.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ массивы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ совмСстимы с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. А ΠΊΠ°ΠΊ ΠΆΠ΅ обобщСния? Π’ Java нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ T[], Π³Π΄Π΅ T являСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ‚ΠΈΠΏΠ°. Как ΠΆΠ΅ прСдставлСн Scala Array[T]? На самом Π΄Π΅Π»Π΅ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ массив Ρ‚ΠΈΠΏΠ° Array[T] ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· восьми ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² массивов Java byte[], short[], char[], int[] , long[] , float[], double ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ массивом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ЕдинствСнным ΠΎΠ±Ρ‰ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ всС эти Ρ‚ΠΈΠΏΡ‹, являСтся AnyRef (ΠΈΠ»ΠΈ, Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ java.lang.Object), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилятор Scala ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Array[T]. Π’ΠΎ врСмя исполнСния, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ элСмСнту массива Ρ‚ΠΈΠΏΠ° Array[T], происходит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚ΠΈΠΏ массива, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слСдуСт подходящая опСрация Π½Π° Java-массивС. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ массивов. МоТно ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ падСния скорости доступа ΠΊ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΌ массивам Π² Ρ‚Ρ€ΠΈ-Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π°, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ массивами ΠΈΠ»ΠΈ массивами ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° максимальная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π²Π°ΠΌ слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ массивы, вмСсто ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Ρ…. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ массив Π΅Ρ‰Π΅ ΠΏΠΎΠ» Π±Π΅Π΄Ρ‹, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π΅Ρ‰Π΅ способ создания ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Ρ… массивов. Π­Ρ‚ΠΎ ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ слоТная Π·Π°Π΄Π°Ρ‡Π°, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, ΠΎΡ‚ вас, нСбольшой ΠΏΠΎΠΌΠΎΡ‰ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ написания ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт массив.

// это Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ!
def evenElems[T](xs: Vector[T]): Array[T] = {
  val arr = new Array[T]((xs.length + 1) / 2)
  for (i <- 0 until xs.length by 2)
    arr(i / 2) = xs(i)
  arr
}

ΠœΠ΅Ρ‚ΠΎΠ΄ evenElems Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, состоящий ΠΈΠ· всСх элСмСнтов Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π° xs, находящихся Π² Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… позициях Π²Π΅ΠΊΡ‚ΠΎΡ€Π°. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Ρ‚Π΅Π»Π° evenElems создаСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ элСмСнта, Ρ‡Ρ‚ΠΎ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² зависимости ΠΎΡ‚ фактичСского Ρ‚ΠΈΠΏΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° для T, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Array[Int], ΠΈΠ»ΠΈ Array[Boolean], ΠΈΠ»ΠΈ массив Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Java, ΠΈΠ»ΠΈ массив ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ссылочного Ρ‚ΠΈΠΏΠ°.

Π’ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡ‡ΡŒ компилятору, ΡƒΠΊΠ°Π·Π°Π² ΠΊΠ°ΠΊΠΎΠΉ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° evenElems. Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ манифСста класса Ρ‚ΠΈΠΏΠ° scala.view.ClassTag. ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ класса — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ дСскриптор Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Ρƒ класса Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ манифСстам классов ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π½Ρ‹Π΅ манифСсты Ρ‚ΠΈΠΏΠ° scala.Refect.Manifest, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ всС аспСкты Ρ‚ΠΈΠΏΠ°. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ для создания массива Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ манифСсты класса.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Scala автоматичСски создаст манифСсты классов, Ссли Π²Ρ‹ проинструктируСтС Π΅Π³ΠΎ Π½Π° это. β€œΠ˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅β€ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚Π΅ манифСст класса Π² качСствС нСявного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

def evenElems[T](xs: Vector[T])(implicit m: ClassTag[T]): Array[T] = ...

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ синтаксис, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ» с манифСстом класса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ контСкстноС связываниС (context bound). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ связь с Ρ‚ΠΈΠΏΠΎΠΌ ClassTag ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ послС двоСточия Π² описании Ρ‚ΠΈΠΏΠ°, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

import scala.reflect.ClassTag
// Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ
def evenElems[T: ClassTag](xs: Vector[T]): Array[T] = {
  val arr = new Array[T]((xs.length + 1) / 2)
  for (i <- 0 until xs.length by 2)
    arr(i / 2) = xs(i)
  arr
}

ОбС ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ вСрсии evenElems ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅. Π§Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΊΠΎΠ³Π΄Π° построСн Array[T], компилятор Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ манифСст класса для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚ΠΈΠΏΠ° T, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ нСявноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (implicit value) Ρ‚ΠΈΠΏΠ° ClassTag[T]. Если Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Ρ‚ΠΎ этот манифСст Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для построСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° массива. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС, Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· консоли, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ evenElems.

scala> evenElems(Vector(1, 2, 3, 4, 5))
res6: Array[Int] = Array(1, 3, 5)
scala> evenElems(Vector("this", "is", "a", "test", "run"))
res7: Array[java.  Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС `evenElems` Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия класса манифСста для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚ΠΈΠΏΠ° `U`, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ. Π§Ρ‚ΠΎΠ± Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ манифСст ΠΎΡ‚ нСявного класса `U`. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

scala> def wrap[U: ClassTag](xs: Vector[U]) = evenElems(xs)
wrap: [U](xs: Vector[U])(implicit evidence$1: scala.reflect.ClassTag[U])Array[U]

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ контСкстноС связываниС с U, являСтся лишь сокращСниСм для нСявного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π½Π°Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ здСсь evidence$1 Ρ‚ΠΈΠΏΠ° ClassTag[U].

Подводя ΠΈΡ‚ΠΎΠ³, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для создания ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Ρ… массивов Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ манифСсты классов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании массива ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠΎΠΌ T, Π²Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСявный класс манифСст для T. Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это — ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° ClassTag с контСкстной привязкой, ΠΊΠ°ΠΊ [T: ClassTag].

ΠœΠ°ΡΡΠΈΠ²Ρ‹.

Π§Π°ΡΡ‚ΡŒ 3 – ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы.

Π’ Java ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой массивы массивов.

ΠŸΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива для указания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива twoD.

int

twoD[][] = new int[4][5];

Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распрСдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ для массива Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 4Γ—5 ΠΈ присваиваСт ссылку Π½Π°Β  Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ twoD. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ эта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ массив массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° int. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния логичСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ этот массив Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ ΠΌΡ‹ рассмотрСли Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. ЀизичСская ΠΆΠ΅, ΠΈΠ»ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ распрСдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ массив нСсколько другая. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ умноТСния Π² Π²ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

int

[][] multiplicationTable;

КаТдая ΠΏΠ°Ρ€Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок прСдставляСт ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, поэтому Π΄Π°Π½Π½Ρ‹ΠΉ массив являСтся Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΌΡƒ элСмСнту int Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π²Π° значСния индСкса, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния. Если Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ массив Π±Ρ‹Π» Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π° умноТСния, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ int, находящССся Π² любом элСмСнтС, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ этих индСксов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ products[2][4]Β  Ρ€Π°Π²Π½ΠΎ 8, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ products[3][7]Β  Π±ΡƒΠ΄Π΅Ρ‚ 21.

Новый ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив создаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова new с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠ±ΠΎΠΈΡ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массива. НапримСр:

int

[][] multiplicationTable = new int[10][10];

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках Ρ‚Π°ΠΊΠΎΠΉ массив создаСтся Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈΠ· 100 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ int. Java поступаСт ΠΈΠ½Π°Ρ‡Π΅. Π­Ρ‚Π° строка ΠΊΠΎΠ΄Π° выполняСт Ρ‚Ρ€ΠΈ дСйствия:

  • ΠžΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ multiplicationTable, которая содСрТит ссылку Π½Π° массив ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° массивы int.
  • Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ массив ΠΈΠ· 10 элСмСнтов (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ссылки Π½Π° 10 ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов int. Π’ΠΎΡ‚ ΠΎΡ‚ сюда собствСнно ΠΈ понятиС – массив массивов.
    На этой стадии создания массив ссылок заполняСтся значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ значСниями null.
  • Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π΅Ρ‰Π΅ 10 массивов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ являСтся массивом ΠΈΠ· 10 элСмСнтов int. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ ссылки Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих 10 Π½ΠΎΠ²Ρ‹Ρ… массивов элСмСнтам массива, созданного Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ шагС. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт int ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· этих 10 Π½ΠΎΠ²Ρ‹Ρ… массивов ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ строку ΠΊΠΎΠ΄Π°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

int

[][] multiplicationTable = new int[10][]; // ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс содСрТит ссылки Π½Π° массивы int
Β Β  for (int i = 0; i < 10; i++)
       multiplicationTable[i] = new int[10]; // создаСм 10 массивов int

ГрафичСски это ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· массивов с элСмСнтами int, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² памяти Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ куском, Π½ΠΎ Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ располоТСны ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… это опрСдСляСт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина java. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· этого Π΅ΡΡ‚ΡŒ рСкомСндация, Ρ‡Ρ‚ΠΎ Π½Π°Ρ€ΡƒΠΆΠ½Ρ‹Π΅ (Π»Π΅Π²Ρ‹Π΅) размСрности массива Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ мСньшС, Π° самыС большС размСрности Π²Π½ΡƒΡ‚Ρ€ΠΈ (ΠΏΡ€Π°Π²Π΅Π΅), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ памяти, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС памяти для размСщСния массива. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π²Π° опрСдСлСния Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов:

int

[][] a = new int[10][1000];
int[][] b = new int[1000][10];

Π’ случаС массива a, количСство ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅ΠΌΡ‹Ρ… Π² памяти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π²Π½ΠΎ 11, Π° Π² случаС массива b – 1001. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ обслуТиваниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚ свои Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина считаСт ссылки для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ массив b ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π² памяти Π² ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π°, Π° Ρ‚ΠΎ ΠΈ Π² Π΄Π²Π° Ρ€Π°Π·Π° большС мСста Ρ‡Π΅ΠΌ массив a.

Π§Ρ‚ΠΎΠ±Ρ‹ всС Π΅Ρ‰Π΅ стало понятнСй, Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ

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

По сущСству шаги 1 ΠΈ 2 Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² 9 строкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ 12-15 лишь выводят значСния элСмСнтов ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ индСкса массива, Π³Π΄Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° массивы Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ int. Но Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΌ Π΅Ρ‰Π΅ значСния null, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ присвоСны ссылки Π½Π° массивы со значСниями int.

ПослС создания массивов int (строки 18-21), Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ шагС ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ индСксС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² массивС содСрТащСм ссылки Π½Π° массивы int ΡƒΠΆΠ΅ находятся ссылки Π½Π° эти массивы.

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ссли ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ΠΎΠ±ΠΎΠΈΠΌ индСксам массива multiplicationTable, Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ массивы int Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нулями.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово new автоматичСски выполняСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ элСмСнтов массива значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

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

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π² Java ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ индСксы ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ массивы ссылок, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний (самый ΠΏΡ€Π°Π²Ρ‹ΠΉ) индСкс содСрТит нСпосрСдствСнно элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° объявлСнного для массива.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² Java ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. НапримСр:

int

[][][] dim3D;

И Ρ‚ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, содСрТит массив ссылок, Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ индСкс Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ‚ΠΎΠΆΠ΅ содСрТит массив ссылок Π½Π° массивы Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ int.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ вывСсти Π½Π° консоль Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ int[1][1], Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ адрСс ссылки, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° шагС 3 Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ индСксу int[1][1][1] ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива Ρ‚ΠΈΠΏΠ° int.

Если Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции:

int

[][] multiplicationTable = new int[10][];
multiplicationTable[0] = 10; // ошибка компиляции

НС смотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ 10 являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ int, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ скомпилирован ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½Π° ошибка: cannot convert from int to int[]. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ оТидаСтся, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт массива Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘Ρ‚Ρ€ΠΎΠΊΠ° 12 Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ дСмонстрируСт этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ошибки.

Π’ Ρ‚ΠΎΠΆΠ΅ врСмя Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ошибки компиляции, Π½ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΎ врСмя исполнСния: NullPointerException.

int

[][] multiplicationTable = new int[10][];
multiplicationTable[0][0] = 10; // ошибка Π²ΠΎ врСмя исполнСния

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

Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ создали массив ссылок, Π½ΠΎ Π½Π΅ создали массив int-ΠΎΠ², поэтому ΠΊ Π½Π΅ΠΌΡƒ ΠΈ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

int

[][] multiplicationTable = new int[10][];
multiplicationTable[0] = new int [10];
multiplicationTable[0][0] = 10; // Π½Π΅Ρ‚ ошибки

ВсС ΠΏΡ€Π°Π²ΠΈΠ»Π° создания массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассматривали Ρ€Π°Π½Π΅Π΅, справСдливы ΠΈ для ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всС стадии: объявлСниС, созданиС ΠΈ инициализация.

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² Java ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы любой размСрности:

float

[][][] globalTemperatureData = new float[360][180][100];

Если Π²Ρ‹ создаСтС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, Π²Π°ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ всС измСрСния массива – Π²Π°ΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅Π΅ слСва ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ измСрСния. НапримСр, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ строки:

float

[][][] globalTemperatureData = new float[360][][];
float[][][] globalTemperatureData = new float[360][180][];

Но Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹:

float

[][][] globalTemperatureData = new float[360][][100]; // Ошибка!
float[][][] globalTemperatureData = new float[][180][100]; // Ошибка!

Π•Ρ‰Π΅ Ρ€Π°Π· напомню, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ индСксы (измСрСния) массивов содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки, ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ объявлСнного для массива Ρ‚ΠΈΠΏΠ°, ΠΈΡ… содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅Π΅ Π»Π΅Π²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (индСкс).

Подобно ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивам, ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ массива-Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°. НуТно просто Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ массивы Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ массивы, примСняя мноТСство Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ создаСт массив products[5][5]:

int

[][] products = { { 0, 0, 0, 0, 0 },
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  { 0, 1, 2, 3, 4 },
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  { 0, 2, 4, 6, 8 },
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  { 0, 3, 6, 9, 12 },
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  { 0, 4, 8, 12, 16 } };

Напомню, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ синтаксис ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ объявлСнии массива ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ использовании Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ массива, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ массива Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ:

boolean

response = bilingualQuestion( question, new String[][] {{ «Yes», «No» },{ «Oui», «Non» } } );

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Java ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ массивы массивов,Β  Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ массвы. НапримСр:

int

[][] triangle = {{1, 2, 3, 4, 5},
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  {6, 7, 8, 9},
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  {10, 11, 12},
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  {13, 14},
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  {15}};

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСбольшой ΠΌΠ°Π³ΠΈΠΈ с массивами Π² Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹.

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

Π’ строкС 9 ΠΌΡ‹ создаСм ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. Π’ 11 строкС создаСм Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. Π’ 12 строкС происходит магия. Если Π²Ρ‹ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Π»ΠΈ, всС Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ написано Π΄ΠΎ сих ΠΏΠΎΡ€ Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΊΠ°ΠΊ я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», ΠΏΠ΅Ρ€Π²Ρ‹Π΅ индСксы ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов содСрТат ссылки Π½Π° массивы, Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Ρ‚ΡƒΠ΄Π° присвоили ссылку Π½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив oneD.

Если Π»ΠΈ ΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ понятно, Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ссли Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ понятно ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

А ΠΏΠΎΠΊΠ° добавлю Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΌΠ°Π³ΠΈΠΈ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π’ΡƒΡ‚ я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² строках 20 ΠΈ 21 ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΡΡ‚Π°Π»ΠΎΡΡŒ с массивами ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ выглядят послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² строкС 17.

ΠšΡ€ΠΎΠΌΠ΅ этого Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ строки создания массива int-ΠΎΠ², для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ индСкса массива twoD, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для индСкса 1, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ заполнСния Π΅Π³ΠΎ значСниями. Π­Ρ‚ΠΎ строки 23-25.

Π”Π°Π»Π΅Π΅, строка 26, просто Π²Ρ‹Π²ΠΎΠ΄ массива twoD Π½Π° консоль.

Π’ 27 строкС нСбольшая магия, ΠΌΡ‹ присвоили ссылку Π½Π° массив int-ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ создали Π² массивС twoD, массиву oneD.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²Π΅Π»ΠΈ содСрТимоС массива oneD Π½Π° консоль. И ΡƒΠΆΠ΅ послС этого адрСса ссылок Π½Π° массивы.

ЦСль этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с массивами, ΠΈ самоС Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС массивом, ΠΈ ссылкой Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

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

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΊΠΎΠ»Π΄ΡƒΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ с Π½Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ массивами, Π΄Π°Π±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π² Java Π΅Ρ‰Π΅ Π³Π»ΡƒΠ±ΠΆΠ΅.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ступСнчатым массивом. На самом Π΄Π΅Π»Π΅ массивы int-ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹.

Π’ 16 строкС ΠΌΡ‹ воспользовались стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ (Arrays.deepToString) SDK для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π½Π° консоль, Π½ΠΎ ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄Π°, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ любой ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² строку, раздСляя Π΅Π³ΠΎ размСрности ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобкам, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ наглядно.

Π—Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ (строки 18-23) ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив Π±ΠΎΠ»Π΅Π΅ наглядным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Β 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡ΡƒΡ‚ΡŒ интСрСснСй, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив Π² Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Ρ‚Ρ€ΠΈ массива: ΠΎΠ΄ΠΈΠ½ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΈ Π΄Π²Π° Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ…, Π½ΠΎ с Ρ€Π°Π·Π½Ρ‹ΠΌ количСством элСмСнтов Π² строках – 2 ΠΈ 3 соотвСтствСнно.

Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ справа, спСрва ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ всС Ρ‚Ρ€ΠΈ массива Π² ΠΈΡ… ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ состоянии.

Π’ строках 31 ΠΈ 32 ΠΌΡ‹ ΠΊΠΎΠ»Π΄ΡƒΠ΅ΠΌ с массивом three ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ нашСго ΡˆΠ°ΠΌΠ°Π½ΡΡ‚Π²Π° Π½Π° консоль.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΊΠ°ΠΊ-Π±Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ чСстный Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив.

Как-Π±Ρ‹, это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ послСдниС Π΄Π²Π° индСкса ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ массивы two ΠΈ one.

А чСстный ΠΎΠ½ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ придСтся с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ с Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС ΠΌΠ°Π³ΠΈΠΈ ΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π΅ смоТСм ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ индСксу three[2][2], ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ArrayIndexOutOfBoundsException. А ΠΊΠ°ΠΊ-Π±Ρ‹ ΠΎΠ½ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ работая с индСксами three[1] ΠΈ three[2] ΠΌΡ‹ Π½Π° самом Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами two ΠΈ one соотвСтствСнно.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив размСрности 3Γ—4Γ—5. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ индСксов ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всС это Π΄Π΅Π»ΠΎ Π½Π° консоль.

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

Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ Ρƒ нас 3D

Β 

Ну ΠΈ Π² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ поста ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ сортировки Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, это классика ΠΆΠ°Π½Ρ€Π°, сортировка ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ я написал Π·Π°Π±Π°Π²Ρ‹ Ρ€Π°Π΄ΠΈ, Ρ‡Ρ‚ΠΎ-Π±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ вычислСний.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π·Π°Π΄Π°Π½Π½ΠΎΠΉ размСрности. Если Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Ρ‚ΠΎ создаСтся массив 10Ρ…10. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ заполняСтся случайными числами, копируСтся Π² массив ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ отсортирован ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ, сортируСтся, выводится Π½Π° консоль, Π·Π°Ρ‚Π΅ΠΌ нСсортированный снова копируСтся для сортировки, сортируСтся Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΠΈ выводится Π½Π° консоль.

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

Π’ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запусков Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ количСством ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ пСрСстановок Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… различаСтся ΠΎΡ‚ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·.

ЕстСствСнно ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС Ρƒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ числа Ρ…ΠΎΡ‚ΡŒ ΠΈ псСвдослучайныС, Π½ΠΎ всС ΠΆΠ΅ случайныС.

ΠžΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π½Π½ΠΎ. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ сами.

Если Π½Π΅ получится ΠΈ Ссли сильно интСрСсно, ΠΏΠΈΡˆΠΈΡ‚Π΅ вопросы Π² коммСнтариях, Π΄Π°Π±Ρ‹ ΠΌΠ½Π΅ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ понапрасну врСмя Π½Π° объяснСния Ρ‚ΡƒΡ‚.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ постС Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π Π°Π±ΠΎΡ‚Π° с массивами ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Azure Cosmos DB

  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠŸΠ Π˜ΠœΠ•ΠΠ˜ΠœΠž К: API SQL

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ API Azure Cosmos DB SQL являСтся созданиС массивов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².A key feature of the Azure Cosmos DB SQL API is array and object creation. Π’ этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… Family.This document uses examples that can be recreated using the Family dataset.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ элСмСнта Π² этом Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…:Here’s an example item in this dataset:

{
  "id": "AndersenFamily",
  "lastName": "Andersen",
  "parents": [
     { "firstName": "Thomas" },
     { "firstName": "Mary Kay"}
  ],
  "children": [
     {
         "firstName": "Henriette Thaulow",
         "gender": "female",
         "grade": 5,
         "pets": [{ "givenName": "Fluffy" }]
     }
  ],
  "address": { "state": "WA", "county": "King", "city": "Seattle" },
  "creationDate": 1431620472,
  "isRegistered": true
}

ΠœΠ°ΡΡΠΈΠ²Ρ‹Arrays

МоТно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:You can construct arrays, as shown in the following example:

SELECT [f. address.city, f.address.state] AS CityState
FROM Families f

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:The results are:

[
  {
    "CityState": [
      "Seattle",
      "WA"
    ]
  },
  {
    "CityState": [
      "NY", 
      "NY"
    ]
  }
]

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ массива для создания массива ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ запроса .You can also use the ARRAY expression to construct an array from subquery’s results. Π­Ρ‚ΠΎΡ‚ запрос ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов Π² массивС.This query gets all the distinct given names of children in an array.

SELECT f.id, ARRAY(SELECT DISTINCT VALUE c.givenName FROM c IN f.children) as ChildNames
FROM f

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:The results are:

[
    {
        "id": "AndersenFamily",
        "ChildNames": []
    },
    {
        "id": "WakefieldFamily",
        "ChildNames": [
            "Jesse",
            "Lisa"
        ]
    }
]

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

API SQL обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ массивам JSON с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом in Π² источникС from. The SQL API provides support for iterating over JSON arrays, with the IN keyword in the FROM source. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:In the following example:

SELECT *
FROM Families.children

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:The results are:

[
  [
    {
      "firstName": "Henriette Thaulow",
      "gender": "female",
      "grade": 5,
      "pets": [{ "givenName": "Fluffy"}]
    }
  ], 
  [
    {
        "familyName": "Merriam",
        "givenName": "Jesse",
        "gender": "female",
        "grade": 1
    }, 
    {
        "familyName": "Miller",
        "givenName": "Lisa",
        "gender": "female",
        "grade": 8
    }
  ]
]

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ children Π² Families ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅.The next query performs iteration over children in the Families container. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив отличаСтся ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ запроса.The output array is different from the preceding query. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ children ΠΈ свСдСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ массив:This example splits children, and flattens the results into a single array:

SELECT *
FROM c IN Families. children

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:The results are:

[
  {
      "firstName": "Henriette Thaulow",
      "gender": "female",
      "grade": 5,
      "pets": [{ "givenName": "Fluffy" }]
  },
  {
      "familyName": "Merriam",
      "givenName": "Jesse",
      "gender": "female",
      "grade": 1
  },
  {
      "familyName": "Miller",
      "givenName": "Lisa",
      "gender": "female",
      "grade": 8
  }
]

МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ записи массива, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:You can filter further on each individual entry of the array, as shown in the following example:

SELECT c.givenName
FROM c IN Families.children
WHERE c.grade = 8

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:The results are:

[{
  "givenName": "Lisa"
}]

МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ массива.You can also aggregate over the result of an array iteration. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос подсчитываСт количСство Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов Π²ΠΎ всСх сСмСйствах:For example, the following query counts the number of children among all families:

SELECT COUNT(1) AS Count
FROM child IN Families. children

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:The results are:

[
  {
    "Count": 3
  }
]

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΈ использовании ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова IN для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ нСльзя Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ свойства Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ массива.When using the IN keyword for iteration, you cannot filter or project any properties outside of the array. ВмСсто этого слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ объСдинСния.Instead, you should use JOINs.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ см. Π² записи Π±Π»ΠΎΠ³Π° ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами Π² Azure Cosmos DB.For additional examples, read our blog post on working with arrays in Azure Cosmos DB.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ дСйствияNext steps

Π’Ρ‹Π·ΠΎΠ² Java ΠΈΠ· MATLAB (внСшниС интСрфСйсы)

Π Π°Π±ΠΎΡ‚Π° с массивами Java :: Π’Ρ‹Π·ΠΎΠ² Java ΠΈΠ· MATLAB (внСшниС интСрфСйсы)
Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ интСрфСйсы

Π Π°Π±ΠΎΡ‚Π° с массивами Java

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

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

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹:

Как MATLAB прСдставляСт массив Java

Π’Π΅Ρ€ΠΌΠΈΠ½ массив java относится ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ массиву ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Java, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌΡƒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π° конструктора ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса Java. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Java Π² MATLAB, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ javaArray . Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° массива Java Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ структуры ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ массива MATLAB. MATLAB скрываСт эти различия, ΠΊΠΎΠ³Π΄Π° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, позволяя Π²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ синтаксис ΠΊΠΎΠΌΠ°Π½Π΄ MATLAB.Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами Java ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… различиях.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ измСрСния

Массив Π² языкС Java являСтся строго ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ структурой, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ измСряСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ структуру, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ массив массивов. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСрСния, Π²Ρ‹ добавляСтС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π² массив, прСвращая Π΅Π³ΠΎ Π² массив массивов массивов ΠΈ Ρ‚. Π”.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ массивы ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² MATLAB, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это язык программирования Π½Π° основС ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΈ массивов.

MATLAB ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ массивами Java, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ с Π½ΠΈΠΌΠΈ ΠΊΠ°ΠΊ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ самого языка. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ элСмСнтам массива массивов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ синтаксис MATLAB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали Π±Ρ‹, Ссли Π±Ρ‹ Π²Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Если Π±Ρ‹ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ большС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΊ массиву, MATLAB смог Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со структурой, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π» ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив MATLAB.

Π’ Π»Π΅Π²ΠΎΠΉ части ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ рисунка ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠ΄Π½ΠΎ-, Π΄Π²ΡƒΡ…- ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Java. Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ — способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ массив прСдставлСн Π²Π°ΠΌ Π² MATLAB. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы прСдставлСны ΠΊΠ°ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€-столбСц.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива Java отличаСтся ΠΎΡ‚ индСксации массива MATLAB. Π˜Π½Π΄Π΅ΠΊΡΡ‹ массива Java Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с нуля, индСксы массива MATLAB основаны Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ элСмСнтам массива y Π΄Π»ΠΈΠ½ΠΎΠΉ N , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ значСния ΠΎΡ‚ y [0] Π΄ΠΎ y [N-1] .ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с этим массивом Π² MATLAB Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ Ρ‚Π΅ΠΌ ΠΆΠ΅ элСмСнтам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡ‚ΠΈΠ»ΡŒ индСксации MATLAB ΠΎΡ‚ y (1) Π΄ΠΎ y (N) . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Java-массив ΠΈΠ· 10 элСмСнтов, сСдьмой элСмСнт получаСтся с использованиСм y (7) , Π° Π½Π΅ y [6] , ΠΊΠ°ΠΊ Π²Ρ‹ использовали Π±Ρ‹ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java.

Π€ΠΎΡ€ΠΌΠ° массива Java

Массив Java ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ массива MATLAB своСй ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ .Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив MATLAB ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТдая строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π²Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ столбСц Ρ€Π°Π²Π½ΠΎΠΉ высоты. Π•Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ Π² Java, массив массивов, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ соотвСтствуСт этой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ.

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

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива Java

Когда функция MATLAB size примСняСтся ΠΊ простому массиву Java, количСство Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… строк являСтся Π΄Π»ΠΈΠ½ΠΎΠΉ массива Java, Π° количСство столбцов всСгда Ρ€Π°Π²Π½ΠΎ 1.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива массивов Java Π½Π΅ Ρ‚Π°ΠΊ-Ρ‚ΠΎ просто. ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ рваная Ρ„ΠΎΡ€ΠΌΠ° массива, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ· Java, Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ для ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.Π’ Ρ€Π²Π°Π½ΠΎΠΌ массивС Java Π½Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массивов Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня.

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

size (A) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ самого высокого уровня массива A. Π‘Π°ΠΌΡ‹ΠΉ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ массива ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 3 Π½Π° 1.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня, скаТСм, массива ΠΈΠ· пяти элСмСнтов Π² строкС 3, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ строкС явно.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ size , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис. Однако Π²Ρ‹, вСроятно, сочтСтС это ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ измСрСния, dim = 1 , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π±ΡƒΠ΄Π΅Ρ‚ СдинствСнноС Π½Π΅ΡƒΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массивов Java

Для массивов Java, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ простыС ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ массивы ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅, функция MATLAB ndims всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС.Π­Ρ‚ΠΎ ΠΌΠ΅Ρ€Π° количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, которая всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 2.


Как MATLAB ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² MATLAB

Β© 1994-2005 The MathWorks, Inc.


Π’Ρ‹Π·ΠΎΠ² Java ΠΈΠ· MATLAB (внСшниС интСрфСйсы / API)

Π’Ρ‹Π·ΠΎΠ² Java ΠΈΠ· MATLAB (внСшниС интСрфСйсы / API)
Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ интСрфСйсы / API

Π Π°Π±ΠΎΡ‚Π° с массивами Java

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

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

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹:

Как MATLAB прСдставляСт массив Java

Π’Π΅Ρ€ΠΌΠΈΠ½ массив java относится ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ массиву ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Java, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌΡƒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π° конструктора ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса Java. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Java Π² MATLAB, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ javaArray .Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° массива Java Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ структуры ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ массива MATLAB. MATLAB скрываСт эти различия, ΠΊΠΎΠ³Π΄Π° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, позволяя Π²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ синтаксис ΠΊΠΎΠΌΠ°Π½Π΄ MATLAB. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами Java ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… различиях.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ измСрСния

Массив Π² языкС Java являСтся строго ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ структурой, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ измСряСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅.Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ структуру, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ массив массивов. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСрСния, Π²Ρ‹ добавляСтС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π² массив, прСвращая Π΅Π³ΠΎ Π² массив массивов массивов ΠΈ Ρ‚. Π”. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ массивы ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² MATLAB, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это язык программирования Π½Π° основС ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΈ массивов.

MATLAB ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ массивами Java, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ с Π½ΠΈΠΌΠΈ ΠΊΠ°ΠΊ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ самого языка. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ элСмСнтам массива массивов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ синтаксис MATLAB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали Π±Ρ‹, Ссли Π±Ρ‹ Π²Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Если Π±Ρ‹ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ большС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΊ массиву, MATLAB смог Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со структурой, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π» ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив MATLAB.

Π’ Π»Π΅Π²ΠΎΠΉ части ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ рисунка ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠ΄Π½ΠΎ-, Π΄Π²ΡƒΡ…- ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Java. Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ — способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ массив прСдставлСн Π²Π°ΠΌ Π² MATLAB. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы прСдставлСны ΠΊΠ°ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€-столбСц.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива Java отличаСтся ΠΎΡ‚ индСксации массива MATLAB. Π˜Π½Π΄Π΅ΠΊΡΡ‹ массива Java Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с нуля, индСксы массива MATLAB основаны Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ элСмСнтам массива y Π΄Π»ΠΈΠ½ΠΎΠΉ N , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ значСния ΠΎΡ‚ y [0] Π΄ΠΎ y [N-1] . ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с этим массивом Π² MATLAB Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ Ρ‚Π΅ΠΌ ΠΆΠ΅ элСмСнтам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡ‚ΠΈΠ»ΡŒ индСксации MATLAB ΠΎΡ‚ y (1) Π΄ΠΎ y (N) . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Java-массив ΠΈΠ· 10 элСмСнтов, сСдьмой элСмСнт получаСтся с использованиСм y (7) , Π° Π½Π΅ y [6] , ΠΊΠ°ΠΊ Π²Ρ‹ использовали Π±Ρ‹ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java.

Π€ΠΎΡ€ΠΌΠ° массива Java

Массив Java ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ массива MATLAB своСй ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ . Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив MATLAB ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТдая строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π²Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ столбСц Ρ€Π°Π²Π½ΠΎΠΉ высоты. Π•Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ Π² Java, массив массивов, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ соотвСтствуСт этой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ.

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

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива Java

Когда функция MATLAB size примСняСтся ΠΊ простому массиву Java, количСство Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… строк являСтся Π΄Π»ΠΈΠ½ΠΎΠΉ массива Java, Π° количСство столбцов всСгда Ρ€Π°Π²Π½ΠΎ 1.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива массивов Java Π½Π΅ Ρ‚Π°ΠΊ-Ρ‚ΠΎ просто. ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ рваная Ρ„ΠΎΡ€ΠΌΠ° массива, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ· Java, Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ для ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π’ Ρ€Π²Π°Π½ΠΎΠΌ массивС Java Π½Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массивов Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня.

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

size (A) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ самого высокого уровня массива A.Π‘Π°ΠΌΡ‹ΠΉ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ массива ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 3 Π½Π° 1.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня, скаТСм, массива ΠΈΠ· пяти элСмСнтов Π² строкС 3, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ строкС явно.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ size , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис. Однако Π²Ρ‹, вСроятно, сочтСтС это ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ измСрСния, dim = 1 , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π±ΡƒΠ΄Π΅Ρ‚ СдинствСнноС Π½Π΅ΡƒΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массивов Java

Для массивов Java, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ простыС ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ массивы ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅, функция MATLAB ndims всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС.Π­Ρ‚ΠΎ ΠΌΠ΅Ρ€Π° количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, которая всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 2.


Как MATLAB ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² MATLAB

УпраТнСния с массивом Java: УпраТнСния с массивом

Java Array Exercises [74 упраТнСния с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ]

1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для сортировки числового массива ΠΈ массива строк. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

2. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для суммирования Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

3. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ сСтки. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

 - - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
 

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

4. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для вычислСния срСднСго значСния элСмСнтов массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

5. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ массив ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

6. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс элСмСнта массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

7. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для удалСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· массива.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

8. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для копирования массива ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

9. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для вставки элСмСнта (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ) Π² массив. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

10. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ максимальноС ΠΈ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

11. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для прСобразования массива цСлочислСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

12. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для поиска ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива цСлочислСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

13. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния Π² массивС строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

14. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ элСмСнты ΠΌΠ΅ΠΆΠ΄Ρƒ двумя массивами (строковыС значСния).Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

15. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ элСмСнты ΠΌΠ΅ΠΆΠ΄Ρƒ двумя массивами Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

16. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для удалСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов ΠΈΠ· массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

17. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ элСмСнт Π² массивС. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

18. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ наимСньший элСмСнт Π² массивС. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

19. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для слоТСния Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

20. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для прСобразования массива Π² ArrayList. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

21. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для прСобразования ArrayList Π² массив.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

22. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС ΠΏΠ°Ρ€Ρ‹ элСмСнтов Π² массивС, сумма ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

23. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ равСнство Π΄Π²ΡƒΡ… массивов. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

24. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰Π΅Π΅ число Π² массивС. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

25. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для поиска ΠΎΠ±Ρ‰ΠΈΡ… элСмСнтов ΠΈΠ· Ρ‚Ρ€Π΅Ρ… отсортированных (Π² Π½Π΅ΡƒΠ±Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ порядкС) массивов. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

26. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС 0 Π² ΠΊΠΎΠ½Π΅Ρ† массива. БохраняйтС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ порядок Π΄Ρ€ΡƒΠ³ΠΈΡ… (Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ…) элСмСнтов массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

27. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ количСство Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

28. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ наибольшим ΠΈ наимСньшим значСниями Π² массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π”Π»ΠΈΠ½Π° массива Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ 1 ΠΈ Π²Ρ‹ΡˆΠ΅. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

29. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для вычислСния срСднСго значСния массива Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ наибольшСго ΠΈ наимСньшСго Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

30. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл Π±Π΅Π· 0 ΠΈ -1. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

31. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ€Π°Π²Π½Π° Π»ΠΈ сумма всСх 10 Π² массивС Ρ€ΠΎΠ²Π½ΠΎ 30. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ false, Ссли условиС Π½Π΅ удовлСтворяСт, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС — true. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

32. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл Π΄Π²Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… элСмСнта 65 ΠΈ 77.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

33. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ массива.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ массива: [20, 20, 30, 40, 50, 50, 50]
ПослС удалСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 4 Π² качСствС Π½ΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

34. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΄Π»ΠΈΠ½Ρƒ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ нСсортированного массива Ρ†Π΅Π»Ρ‹Ρ… чисСл.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ массива: [49, 1, 3, 200, 2, 4, 70, 5]
Бамая длинная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов — [1, 2, 3, 4, 5], поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π΅Ρ€Π½Π΅Ρ‚ Π΅Π΅ Π΄Π»ΠΈΠ½Ρƒ 5. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

35. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ сумму Π΄Π²ΡƒΡ… элСмСнтов Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, которая Ρ€Π°Π²Π½Π° Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ†Π΅Π»ΠΎΠΌΡƒ числу.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ массива: [1,2,4,5,6]
Π¦Π΅Π»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 6. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

36. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€ΠΎΠΉΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅, Ρ‡Ρ‚ΠΎ сумма всСх Ρ‚Ρ€Π΅Ρ… элСмСнтов [x, y, z (x ≀ y ≀ z)] Ρ€Π°Π²Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ массива: [1, -2, 0, 5, -1, -4]
Π¦Π΅Π»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

37. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для создания массива Π΅Π΅ Π°Π½Ρ‚ΠΈΠ΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
1 2
3 4
Π’Ρ‹Ρ…ΠΎΠ΄:
[
[1],
[2, 3],
[4]
]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

38. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл, содСрТащих Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π°: элСмСнт Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° — это элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ встрСчаСтся Π±ΠΎΠ»Π΅Π΅ n / 2 Ρ€Π°Π·, Π³Π΄Π΅ n — Ρ€Π°Π·ΠΌΠ΅Ρ€ массива.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

39. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ всС Π›Π˜Π”Π•Π Π« Π² массивС. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: элСмСнт считаСтся выноской, Ссли ΠΎΠ½ большС всСх элСмСнтов справа ΠΎΡ‚ Π½Π΅Π³ΠΎ.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

40. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΄Π²Π° элСмСнта ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… сумма Π±Ρ‹Π»Π° максимально Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ Π½ΡƒΠ»ΡŽ. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

41. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для поиска наимСньшСго ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… элСмСнтов Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

42. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для раздСлСния всСх Π½ΡƒΠ»Π΅ΠΉ слСва ΠΈ всСх Π΅Π΄ΠΈΠ½ΠΈΡ† справа Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

43. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всю ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… элСмСнтов Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, сумма ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

44. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для подсчСта количСства Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ нСсортированного массива ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ
ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСравСнство Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° гласит, Ρ‡Ρ‚ΠΎ сумма Π΄Π»ΠΈΠ½ Π»ΡŽΠ±Ρ‹Ρ… Π΄Π²ΡƒΡ… сторон Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° Π΄Π»ΠΈΠ½Π΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ стороны.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

45. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для цикличСского ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΠΎ часовой стрСлкС. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

46. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ ΠΏΠ°Ρ€Π° с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ суммой Π΄Π°Π½Π½ΠΎΠ³ΠΎ отсортированного ΠΈ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ³ΠΎ массива. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

47. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ счСтчик Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΌ отсортированном массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

48. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ элСмСнты Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π³Π΄Π΅ всС ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

49. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ элСмСнты Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π³Π΄Π΅ всС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

50. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для сортировки массива ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, Π² отсортированном массивС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ максимумом, Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΈ скоро. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

51. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для раздСлСния Π½ΡƒΠ»Π΅ΠΉ Π½Π° Π»Π΅Π²ΠΎΠΉ сторонС ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† Π½Π° ΠΏΡ€Π°Π²ΠΎΠΉ сторонС массива Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† Π² случайном порядкС. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

52. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для раздСлСния Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π‘Π½Π°Ρ‡Π°Π»Π° ΡΡ‚Π°Π²ΡŒΡ‚Π΅ всС Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

53. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ элСмСнтом (с ΠΏΡ€Π°Π²ΠΎΠΉ стороны) Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Рядом с послСдним элСмСнтом Π½Π΅Ρ‚ элСмСнта, поэтому Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° -1. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

54. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ массив подмассив с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ суммой. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
nums1 = {1, 2, -2, 3, 4, 5, 6}
nums2 = {1, 2, 3, 4, 5, 6}
nums3 = {1, 2, — 3, 4, 5, 6}
Π’Ρ‹Π²ΠΎΠ΄:
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив подмассив с 0 суммой: истина
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив подмассив с 0 суммой: лоТь
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив подмассив с 0 суммой: истина

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

55. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ всСх подмассивов с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ суммой, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
число1 = {1, 3, -7, 3, 2, 3, 1, -3, -2, -2}
число2 = {1, 2, -3, 4, 5, 6 }
nums3 = {1, 2, -2, 3, 4, 5, 6}
Π’Ρ‹Π²ΠΎΠ΄:
ΠŸΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Ρ‹ с суммой 0: [1, 3, -7, 3]
ΠŸΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Ρ‹ с суммой 0: [ 3, -7, 3, 2, 3, 1, -3, -2]

ΠŸΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Ρ‹ с суммой 0: [1, 2, -3]
ΠŸΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Ρ‹ с суммой 0: [2, -2]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

56. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для сортировки Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ массива Π·Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.
Из Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ,
Π›ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя: говорят, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя ΠΈΠ»ΠΈ врСмя O (n), Ссли Π΅Π³ΠΎ врСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° O (n). ΠΠ΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ увСличиваСтся Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π°. Π’ΠΎΡ‡Π½Π΅Π΅, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сущСствуСт такая константа c, Ρ‡Ρ‚ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ cn для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. НапримСр, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, которая складываСт всС элСмСнты списка, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π΅ списка, Ссли врСмя добавлСния постоянноС ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ константой.
Π›ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя — это Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ врСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π»ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ исслСдований Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя. Π­Ρ‚ΠΎ исслСдованиС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Для этого сущСствуСт нСсколько Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ с адрСсациСй ΠΏΠΎ содСрТимому. Π­Ρ‚Π° концСпция Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… сопоставлСния строк, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π‘ΠΎΠΉΠ΅Ρ€Π° – ΠœΡƒΡ€Π° ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π£ΠΊΠΊΠΎΠ½Π΅Π½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
b_nums [] = {0, 1, 1, 0, 1, 1, 0, 1, 0, 0}
Π’Ρ‹Ρ…ΠΎΠ΄:
ПослС сортировки: [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

57. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сформирован Π»ΠΈ подмассив ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
числа = {2, 5, 0, 2, 1, 4, 3, 6, 1, 0}
Π’Ρ‹Π²ΠΎΠ΄:
Π‘Π°ΠΌΡ‹ΠΉ большой подмассив — [1, 7]
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ подмассив -массив: 5 0 2 1 4 3 6

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

58. Π”Π°Π½Ρ‹ Π΄Π²Π° отсортированных массива A ΠΈ B Ρ€Π°Π·ΠΌΠ΅Ρ€Π° p ΠΈ q, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ элСмСнты A ΠΈ B, поддСрТивая отсортированный порядок, Ρ‚.Π΅. Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ A ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ p Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… элСмСнтов ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ B ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΌΠΈΡΡ элСмСнтами. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Ρ…ΠΎΠ΄:
int [] A = {1, 5, 6, 7, 8, 10}
int [] B = {2, 4, 9}
Π’Ρ‹Ρ…ΠΎΠ΄:
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ массивы:
A: [1 , 2, 4, 5, 6, 7]
B: [8, 9, 10]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

59. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ максимальноС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
числа = {2, 3, 5, 7, -7, 5, 8, -5}
Π’Ρ‹Π²ΠΎΠ΄:
ΠŸΠ°Ρ€Π° — (7, 8), ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚: 56

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

60. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Ρ…ΠΎΠ΄:
nums = {1, 2, 3, 4, 5, 6}
Π’Ρ‹Ρ…ΠΎΠ΄:
Массив Π² случайном порядкС: [4, 2, 6, 5, 1, 3]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

61. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт массива Π±Ρ‹Π» большС, Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Π»Π΅Π²Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ элСмСнты. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Ρ…ΠΎΠ΄:
nums = {1, 2, 4, 9, 5, 3, 8, 7, 10, 12, 14}
Π’Ρ‹Ρ…ΠΎΠ΄:
Массив, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Π»Π΅Π²Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ элСмСнты:
[1, 4, 2, 9, 3, 8, 5, 10, 7, 14, 12]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

62. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСксы равновСсия ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
число = {-7, 1, 5, 2, -4, 3, 0}
Π’Ρ‹Ρ…ΠΎΠ΄:
Π˜Π½Π΄Π΅ΠΊΡΡ‹ равновСсия, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π²: 3
Π˜Π½Π΄Π΅ΠΊΡΡ‹ равновСсия, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π²: 6

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

63. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта Π² Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Ρ…ΠΎΠ΄:
nums1 = {1, 2, 3, 4, 5, 6, 7}
nums2 = {0, 1, 2, 3, 4, 5, 6, 7}
Π’Ρ‹Ρ…ΠΎΠ΄:
Массив с ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов:
[5040, 2520, 1680, 1260, 1008, 840, 720]
Массив с ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов:
[5040, 0, 0, 0, 0, 0, 0, 0]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

64. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ самый Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ подмассив Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

БитоничСский подмассив — это подмассив Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ элСмСнты сначала ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² порядкС возрастания, Π° Π·Π°Ρ‚Π΅ΠΌ — Π² порядкС убывания. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ»ΠΈ строго ΡƒΠ±Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ подмассив Ρ‚Π°ΠΊΠΆΠ΅ принимаСтся ΠΊΠ°ΠΊ Π±ΠΈΡ‚ΠΎΠ½Π½Ρ‹ΠΉ подмассив.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
числа = {4, 5, 9, 5, 6, 10, 11, 9, 6, 4, 5}
Π’Ρ‹Π²ΠΎΠ΄:
Π‘Π°ΠΌΡ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ битоничСский подмассив — [3,9]
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ подмассив: 5 6 10 11 9 6 4
Π”Π»ΠΈΠ½Π° самого Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ битоничСского подмассива составляСт 7

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

65. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя элСмСнтами Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл, Ρ‡Ρ‚ΠΎΠ±Ρ‹ мСньший элСмСнт появлялся ΠΏΠ΅Ρ€Π΅Π΄ большим элСмСнтом. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
число = {2, 3, 1, 7, 9, 5, 11, 3, 5}
Π’Ρ‹Π²ΠΎΠ΄:
Максимальная Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя элСмСнтами ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… элСмСнтов массива
10

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

66. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ подмассив Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ сумму. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π’ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° подмассива максимальной суммы — это Π·Π°Π΄Π°Ρ‡Π° Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ подмассив с наибольшСй суммой Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌ массивС A [1 … n] чисСл. Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Ρ‡Π° Π½Π°ΠΉΡ‚ΠΈ индСксы ΠΈ с Ρ‚Π°ΠΊΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сумма Π±Ρ‹Π»Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
int [] A = {1, 2, -3, -4, 0, 6, 7, 8, 9}
Π’Ρ‹Π²ΠΎΠ΄:
Наибольшая сумма Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Ρ… подмассивов: 30

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

67. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ подмассив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ сумму Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
число1 = {2, 1, -5, 4, -3, 1, -3, 4, -1}
число2 = {1, -2, 3, 0, 7, 8, 1 , 2, -3}
Π’Ρ‹Π²ΠΎΠ΄:
Π‘ΡƒΠΌΠΌΠ° подмассивов с наибольшСй суммой Ρ€Π°Π²Π½Π° 6
Π‘ΡƒΠΌΠΌΠ° подмассивов с наибольшСй суммой Ρ€Π°Π²Π½Π° 21

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

68. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для создания всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… пСрСстановок Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Ρ…ΠΎΠ΄:
nums1 = {1, 2, 3, 4}
nums2 = {1, 2, 3}
Π’Ρ‹Π²ΠΎΠ΄:
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ пСрСстановки ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ массива:
[1, 2, 3, 4]
[1, 2, 4, 3]
….
[4, 1, 3, 2]
[4, 1, 2, 3]
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ пСрСстановки ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ массива:
[1, 2, 3]
[1, 3, 2]

[3, 2, 1]
[3, 1, 2]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

69. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ сумму подмассивов ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
nums = {1, 2, 3, 4, 5, 6, 7, 8, 9,10}
Π’Ρ‹Π²ΠΎΠ΄:
Π Π°Π·ΠΌΠ΅Ρ€ подмассива: 4
Подмассив ΠΎΡ‚ 0 Π΄ΠΎ 3 ΠΈ сумма это: 10

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

70. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ подмассива, сумма ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. ВмСсто этого Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ 0. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
числа = {1, 2, 3, 4, 6}
Π’Ρ‹Π²ΠΎΠ΄:
Минимальная Π΄Π»ΠΈΠ½Π° Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ подмассива, сумма ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½Π° 8, 2

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

71. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наибольшСС число ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ списка Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
число = {1, 2, 3, 0, 4, 6}
Π’Ρ‹Π²ΠΎΠ΄:
НаибольшСС число с использованиСм ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² массива: 643210

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

72. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΈ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ подмассив (ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Ссли Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ отсортируСтС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ подмассив Π² порядкС возрастания, Ρ‚ΠΎΠ³Π΄Π° вСсь массив Π±ΡƒΠ΄Π΅Ρ‚ отсортирован Π² порядкС возрастания.Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Ρ…ΠΎΠ΄:
nums1 = {1, 2, 3, 0, 4, 6}
nums2 = {1, 3, 2, 7, 5, 6, 4, 8}
Π’Ρ‹Ρ…ΠΎΠ΄:
НСпрСрывный подмассив:
1 2 3 0
НСпрСрывный подмассив:
3 2 7 5 6 4

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

73. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java для сортировки Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отсортированы всС числа, ΠΊΡ€ΠΎΠΌΠ΅ Π΄Π²ΡƒΡ…. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
число1 = {3, 5, 6, 9, 8, 7}
число2 = {5, 0, 1, 2, 3, 4, -2}
Π’Ρ‹Π²ΠΎΠ΄:
ПослС сортировки Π½ΠΎΠ²Ρ‹ΠΉ массив становится : [3, 5, 6, 7, 8, 9]
ПослС сортировки Π½ΠΎΠ²Ρ‹ΠΉ массив становится: [-2, 0, 1, 2, 3, 4, 5]

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

74. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС Ρ‚Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‹, Ρ€Π°Π²Π½Ρ‹Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ суммС, Π² нСсортированном массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π’Π²ΠΎΠ΄:
числа = {1, 6, 3, 0, 8, 4, 1, 7}
Π’Ρ‹Π²ΠΎΠ΄:
Π’Ρ€ΠΎΠΉΠ½Ρ‹Π΅ числа суммы 7
(0 1 6)
(0 3 4)

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° Java:

Π•Ρ‰Π΅ большС Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ!

НС отправляйтС здСсь ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти свой Π²ΠΊΠ»Π°Π΄, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ страницу упраТнСния.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ массивы | InfoWorld

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ выпуск Under The Hood . Π’ этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ тСхнологиям Java. Π•Π³ΠΎ Ρ†Π΅Π»ΡŒ — Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ прСдставлСниС ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ этого мСсяца Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ массивами.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная машина

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java (JVM) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‚Ρ€Π΅Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ…: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ находятся Π² ΠΊΡƒΡ‡Π΅ со сборкой мусора. Бсылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ находятся Π»ΠΈΠ±ΠΎ Π² стСкС Java ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ Π² ΠΊΡƒΡ‡Π΅ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π»ΠΈΠ±ΠΎ Π² области ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса.

Π’ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Java ΠΏΠ°ΠΌΡΡ‚ΡŒ выдСляСтся Π² ΠΊΡƒΡ‡Π΅ со сборкой мусора Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. НСвозмоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ для ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΠΊΡƒΡ‡Π΅, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ трСбуСтся ссылка Object , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ для Ρ‚ΠΈΠΏΠ° ΠΈΠ· java.lang ΠΏΠ°ΠΊΠ΅Ρ‚. НапримСр, сущСствуСт класс Integer , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ int ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Волько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ссылки ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² стСкС Java ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² стСкС Java.

АрхитСктурноС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² JVM ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² языкС программирования Java, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Волько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ссылки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅. ПослС объявлСния ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΠΈ Π½Π° Ρ‡Ρ‚ΠΎ Π½Π΅ ссылаСтся.Волько послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ссылка Π±Ρ‹Π»Π° явно ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° — Π»ΠΈΠ±ΠΎ ссылкой Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π»ΠΈΠ±ΠΎ с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ new — ссылка ссылаСтся Π½Π° фактичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π’ Π½Π°Π±ΠΎΡ€Π΅ инструкций JVM всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ доступны с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ массивов. Π’ Java массивы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ, ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Java, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ динамичСски. Бсылки Π½Π° массивы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ вызываСтся ссылка Π½Π° Ρ‚ΠΈΠΏ Object , ΠΈ любой ΠΌΠ΅Ρ‚ΠΎΠ΄ Object ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ для массива. Однако Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Java массивы ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°ΠΌΠΈ.

Как ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, массивы Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅; ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° массивы. Π‘Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ массивов всСгда содСрТат Π»ΠΈΠ±ΠΎ массив ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π»ΠΈΠ±ΠΎ массив ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Если Π²Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚Π΅ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ массив ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π‘Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ явно созданы с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ элСмСнтам массива.

ΠšΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ экзСмпляров Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π½ΠΎΠ²Ρ‹ΠΉ

.Π”Π²Π° ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π° Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

. Π­Ρ‚ΠΈ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ для формирования 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ индСкса Π² ΠΏΡƒΠ»Π΅ констант. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ константного ΠΏΡƒΠ»Π° ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ классС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. JVM создаСт Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΊΡƒΡ‡Π΅ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² стСк, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠžΠΏΠ΅Ρ€Π°Π½Π΄ (Ρ‹) ОписаниС
12 Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ 9000 Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΈ ΠΊΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, putfield ΠΈ getfield, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с полями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ экзСмпляра. Доступ ΠΊ статичСским ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ осущСствляСтся ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ putstatic ΠΈ getstatic, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ описаны Π½ΠΈΠΆΠ΅. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ putfield ΠΈ getfield ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎ Π΄Π²Π° ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠžΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ для формирования 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ индСкса Π² ΠΏΡƒΠ»Π΅ констант. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ постоянного ΠΏΡƒΠ»Π° Π² этом индСксС содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΈ смСщСнии поля. Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ бСрСтся ΠΈΠ· стСка Π² инструкциях putfield ΠΈ getfield.Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ putfield Π±Π΅Ρ€Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ экзСмпляра ΠΈΠ· стСка, Π° инструкция getfield ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ экзСмпляра Π² стСк.

Π½ΠΎΠ²Ρ‹ΠΉ indexbyte1, indexbyte2 создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΊΡƒΡ‡Π΅, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ссылку
Доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ экзСмпляра
Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ОписаниС
putfield indexbyte1, indexbyte set by index2 9000, indexbyte ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΎΠ±Π° взяты ΠΈΠ· стСка)
getfield indexbyte1, indexbyte2 ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ индСксом, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (взятого ΠΈΠ· стСка)

Доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ класса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ getstatic ΠΈ putstatic, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. И getstatic, ΠΈ putstatic ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π΄Π²Π° ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ JVM для формирования 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ смСщСния Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² ΠΏΡƒΠ»Π΅ констант. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ постоянного ΠΏΡƒΠ»Π° Π² этом мСстС Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ статичСском ΠΏΠΎΠ»Π΅ класса. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ со статичСским ΠΏΠΎΠ»Π΅ΠΌ Π½Π΅ связан ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π΅Ρ‚ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π½ΠΈ getstatic, Π½ΠΈ putstatic. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ putstatic ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для назначСния ΠΈΠ· стСка. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ getstatic ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² стСк.

Доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ класса
Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄ (-Ρ‹) ОписаниС
putstatic indexbyte, установлСнный индСкс 2, индСкс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΎΠ±Π° взяты ΠΈΠ· стСка)
getstatic indexbyte1, indexbyte2 ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ индСксом, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (взятого ΠΈΠ· стСка)

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ссылаСтся Π»ΠΈ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части стСка Π½Π° экзСмпляр класса ΠΈΠ»ΠΈ интСрфСйса, индСксированный ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π·Π° ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ checkcast Π²Ρ‹Π΄Π°Π΅Ρ‚ CheckCastException , Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ являСтся экзСмпляром ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса ΠΈΠ»ΠΈ интСрфСйса. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС checkcast Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ остаСтся Π² стСкС, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ продолТаСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции. Π­Ρ‚Π° инструкция Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ привСдСния Π²ΠΎ врСмя выполнСния ΠΈ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ JVM.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ instanceof Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка ΠΈ вставляСт true ΠΈΠ»ΠΈ false. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ являСтся экзСмпляром ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса ΠΈΠ»ΠΈ интСрфСйса, Ρ‚ΠΎΠ³Π΄Π° Π² стСк помСщаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π² стСк помСщаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false.Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ instanceof ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Java instanceof , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт программистам ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ экзСмпляром ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса ΠΈΠ»ΠΈ интСрфСйса.

Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄ (Ρ‹) ОписаниС
ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ 910 Π² класс 910 Π² стСкС класса 910
checkcast indexbyte1, indexbyte2 Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ClassCastException
instanceof indexbyte1, indexbyte2 ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ истину, Ссли ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² стСкС являСтся экзСмпляром класса ΠΏΠΎ индСксу, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ false

ΠšΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для массивов

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ экзСмпляра Π½ΠΎΠ²ΠΎΠ³ΠΎ массива выполняСтся Ρ‡Π΅Ρ€Π΅Π· Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΊΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ anewarray ΠΈ multianewarray. Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ newarray ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания массивов ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ссылок. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π° опрСдСляСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π·Π° ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ newarray. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ newarray ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы для byte, short, char, int, long, float, double ΠΈΠ»ΠΈ boolean.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ anewarray создаСт массив ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π”Π²Π° ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π° ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ для формирования 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ индСкса Π² ΠΏΡƒΠ»Π΅ констант. ОписаниС класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан массив, находится Π² ΠΏΡƒΠ»Π΅ констант ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу.Π­Ρ‚Π° инструкция выдСляСт мСсто для массива ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ссылки Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ multianewarray ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для размСщСния ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой просто массивы массивов, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ использовании инструкций anewarray ΠΈ newarray. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ multianewarray просто сТимаСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов, Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. Π”Π²Π° ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π° ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ multianewarray ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ для формирования 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ индСкса Π² ΠΏΡƒΠ»Π΅ констант.ОписаниС класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан массив, находится Π² ΠΏΡƒΠ»Π΅ констант ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу. Π‘Ρ€Π°Π·Ρƒ послС Π΄Π²ΡƒΡ… ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ², ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… индСкс ΠΏΡƒΠ»Π° констант, стоит ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² этом ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌ массивС. Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· стопки. Π­Ρ‚Π° инструкция выдСляСт пространство для всСх массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов.

Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄ (Ρ‹) ОписаниС
newarray atype Π΄Π»ΠΈΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°, выдСляСт Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… atyrepe array
3
anewarray indexbyte1, indexbyte2 Π΄Π»ΠΈΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°, выдСляСт Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ indexbyte1 ΠΈ indexbyte2, Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива
3 multianewarray indexbyte1, indexbyte2, Dimensions ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ размСрности, количСство Π΄Π»ΠΈΠ½ массива, выдСляСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив класса, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ indexbyte1 ΠΈ indexbyte2, ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° инструкция, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ссылку Π½Π° массив с Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ es Π΄Π»ΠΈΠ½Π° этого массива.

Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄ (Ρ‹) ОписаниС
910
Π΄Π»ΠΈΠ½Π° массива (Π½Π΅Ρ‚) всплываСт ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ массива, Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ

ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ элСмСнт ΠΈΠ· массива. ИндСкс массива ΠΈ ссылка Π½Π° массив ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· стСка, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ массива помСщаСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² стСк.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ элСмСнта массива
Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄ (Ρ‹) ОписаниС
baload массив po000 ΠΈ массив (Π½Π΅Ρ‚) Π±Π°ΠΉΡ‚ΠΎΠ², Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ arrayref [index]
caload (Π½Π΅Ρ‚) Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ индСкс ΠΈ arrayref массива символов, ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ arrayref [index]

0 saload

(Π½Π΅Ρ‚) pops index ΠΈ arrayref массива ΡˆΠΎΡ€Ρ‚, Ρ‚ΠΎΠ»ΠΊΠ°Π΅Ρ‚ arrayref [index]
iaload (Π½Π΅Ρ‚) pops index ΠΈ arrayref массива ints, ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ arrayref [index]
laload (Π½Π΅Ρ‚) pops index ΠΈ array ref массива longs, Ρ‚ΠΎΠ»ΠΊΠ°Π΅Ρ‚ arrayref [index]
faload (Π½Π΅Ρ‚) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ индСкс ΠΈ arrayref массива с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ arrayref [index]
daload (Π½Π΅Ρ‚) pops index ΠΈ arrayref массива ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎΠ»ΠΊΠ°Π΅Ρ‚ arrayref [index]
index pops для массива ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, отправляСт ссылку Π½Π° массив [index]
aaload (none)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² элСмСнтС массива. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ ссылка Π½Π° массив ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² элСмСнт массива
Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ОписаниС
bastore Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ pops ΠΈ (Π½Π΅Ρ‚) arrayref массива Π±Π°ΠΉΡ‚ΠΎΠ², присваиваСт arrayref [index] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
castore (Π½Π΅Ρ‚) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ arrayref массива символов, присваиваСт arrayref [index] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
sastore (Π½Π΅Ρ‚) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ ссылку Π½Π° массив для массива ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ, Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ссылку Π½Π° массив [index] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
41 i0003
(Π½Π΅Ρ‚) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ ссылку Π½Π° массив массива Ρ†Π΅Π»Ρ‹Ρ… чисСл, присваиваСт ссылку Π½Π° массив [индСкс] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
9 0041 lastore (Π½Π΅Ρ‚) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ ссылку Π½Π° массив для массива long, присваиваСт arrayref [index] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
fastore (Π½Π΅Ρ‚) Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ , index ΠΈ arrayref массива с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, присваиваСт arrayref [index] = value
dastore (Π½Π΅Ρ‚) всплываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ ссылка Π½Π° массив массива Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, присваиваСт arrayref [index] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
aastore (Π½Π΅Ρ‚) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСкс ΠΈ arrayref массива ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, присваиваСт arrayref [index] = value

-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив: симуляция Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java

АплСт Π½ΠΈΠΆΠ΅ дСмонстрируСт, ΠΊΠ°ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java выполняСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ². ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±Ρ‹Π»Π° сгСнСрирована javac для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° initAnArray () класса, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅:

 class ArrayDemo {
    static void initAnArray () {
        int [] [] [] threeD = Π½ΠΎΠ²Ρ‹ΠΉ int [5] [4] [3];
        for (int i = 0; i <5; ++ i) {
            for (int j = 0; j <4; ++ j) {
                for (int k = 0; k <3; ++ k) {
                    threeD [i] [j] [k] = i + j + k;
                }
            }
        }
    }
}
 

Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹, сгСнСрированныС javac для initAnArray () , ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅:

2D-массивов в Java

2D-массивов в Java

ΠžΡ‚Π²Π΅Ρ‚:

Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ†Π΅Π½ΠΎΠΊ [0] [0] 99
Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ†Π΅Π½ΠΎΠΊ [1] ​​[1] 91
Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ†Π΅Π½ΠΎΠΊ [3] [4] 93
Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ†Π΅Π½ΠΎΠΊ [5] 2] 92

ΠžΡ†Π΅Π½ΠΊΠ° 90 43
Π’Π°Π±Π»ΠΈΡ†Π°
Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ НСдСля
0 1 2 3 4
0 99 42 74 91 72 88 95
2 88 61 74 89 96
3 61
3 89 93
4 93 73 75 78 99
5 50 65 92 98 78 56 99

Π’ Java Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. КаТдая ячСйка массива прСдставляСт собой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ любая пСрСмСнная. Как ΠΈ Π² случаС с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, каТдая ячСйка Π² 2D-массивС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ. Π’ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π’Π°ΠΆΠ½ΠΎ: КаТдая ячСйка массива ΡƒΠΊΠ°Π·Π°Π½Π° с строка ΠΈ Π½ΠΎΠΌΠ΅Ρ€ столбца , ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ порядкС.

Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, gradeTable - это Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив int , ΠΈ это (ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ) ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ справа.ΠŸΠΎΡ‚ΠΎΠΌ,

GradeTable [0] [1] // содСрТит 42
GradeTable [3] [4] // содСрТит 93
GradeTable [6] [2] // содСрТит 78
 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с индСксами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… присваивания ΠΈ арифмСтичСских выраТСниях. ΠΊΠ°ΠΊ ΠΈ любая пСрСмСнная:

// ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ 33 Π² строку 0 столбСц 1.
GradeTable [0] [1] = 33;

// ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² строкС 3 столбца 4.
GradeTable [3] [4] ++;

// ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ 40 Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
int Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = (Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ†Π΅Π½ΠΎΠΊ [6] [2] + 2) / 2;
 

Класс массивов (Java.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°) | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft
AsList (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])
Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Π‘Π°ΠΉΡ‚ [], Int32, Int32, SByte)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Π‘Π°ΠΉΡ‚ [], SByte)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

BinarySearch (Char [], Char)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Char [], Int32, Int32, Char)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Double [], Double)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Double [], Int32, Int32, Double)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Int16 [], Int16)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Int16 [], Int32, Int32, Int16)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Int32 [], Int32)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Int32 [], Int32, Int32, Int32)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Int64 [], Int32, Int32, Int64)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Int64 [], Int64)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, ΠžΠ±ΡŠΠ΅ΠΊΡ‚, IComparator)
Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], ΠžΠ±ΡŠΠ΅ΠΊΡ‚, IComparator)
Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (Single [], Int32, Int32, Single)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив , Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ fromIndex (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ toIndex (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ).

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск (ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ [], ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ)

ВыполняСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ поиск значСния Π² сортированном ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ массивС массив .

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ()

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° .

(УнаслСдовано ΠΎΡ‚ Object)
CopyOf (Boolean [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (Π‘Π°ΠΉΡ‚ [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (Char [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (Double [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (Int16 [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (Int32 [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (Int64 [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOf (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32)
CopyOf (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Класс)
CopyOf (Single [], Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнтов newLength ΠΈΠ· исходных Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

CopyOfRange (Boolean [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (Π‘Π°ΠΉΡ‚ [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (Char [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (Double [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (Int16 [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (Int32 [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (Int64 [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

CopyOfRange (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32)
CopyOfRange (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, Класс)
CopyOfRange (Single [], Int32, Int32)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΈΠ· исходного Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° индСксов (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ† (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

DeepEquals (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true , Ссли Π΄Π²Π° Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… массива ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π²Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ.

DeepHashCode (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС Β«Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ содСрТимого» Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

DeepToString (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ "Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ" Π‘Ρ‚Ρ€ΠΎΠΊΠ° прСдставлСниС Object [] ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли массив содСрТит Π΄Ρ€ΡƒΠ³ΠΈΠ΅ массивы, Ρ‚Π°ΠΊΠΆΠ΅ создаСтся прСдставлСниС этих массивов String .

Π£Ρ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ () (УнаслСдовано ΠΎΡ‚ Object)
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ (логичСскоС) (УнаслСдовано ΠΎΡ‚ Object)
Equals (Boolean [], Boolean [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Π‘Π°ΠΉΡ‚ [], Π‘Π°ΠΉΡ‚ [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Char [], Char [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Double [], Double [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Int16 [], Int16 [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Int32 [], Int32 [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Int64 [], Int64 [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ этот экзСмпляр с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ€Π°Π²Π½Ρ‹.

(УнаслСдовано ΠΎΡ‚ Object)
Π Π°Π²Π½ΠΎ (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π Π°Π²Π½ΠΎ (Single [], Single [])

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° массива.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (логичСскоС [], логичСскоС)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Boolean [], Int32, Int32, Boolean)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Π‘Π°ΠΉΡ‚ [], Int32, Int32, SByte)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Π‘Π°ΠΉΡ‚ [], SByte)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Char [], Char)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Char [], Int32, Int32, Char)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Π”Π²ΠΎΠΉΠ½ΠΎΠ΅ [], Π”Π²ΠΎΠΉΠ½ΠΎΠ΅)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Double [], Int32, Int32, Double)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Int16 [], Int16)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Int16 [], Int32, Int32, Int16)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Int32 [], Int32)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Int32 [], Int32, Int32, Int32)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Int64 [], Int32, Int32, Int64)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Int64 [], Int64)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Single [], Int32, Int32, Single)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ [], ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ)

ЗаполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ элСмСнтом.

GetHashCode ()

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ цСлочислСнный Ρ…ΡΡˆ-ΠΊΠΎΠ΄ для этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

(УнаслСдовано ΠΎΡ‚ Object)
HashCode (логичСский [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π₯эш-ΠΊΠΎΠ΄ (Π‘Π°ΠΉΡ‚ [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

HashCode (Char [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

HashCode (Double [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π₯эш-ΠΊΠΎΠ΄ (Int16 [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π₯эш-ΠΊΠΎΠ΄ (Int32 [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π₯эш-ΠΊΠΎΠ΄ (Int64 [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

HashCode (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

HashCode (ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ Π½Π° основС содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

JavaFinalize ()

ВызываСтся, ΠΊΠΎΠ³Π΄Π° сборщик мусора ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ этот экзСмпляр большС нСдоступСн.

(УнаслСдовано ΠΎΡ‚ Object)
Π£Π²Π΅Π΄ΠΎΠΌΠ»ΡΡ‚ΡŒ()

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² wait () ) для пробуТдСния.

(УнаслСдовано ΠΎΡ‚ Object)
NotifyAll ()

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ всС ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² wait () ) для пробуТдСния.

(УнаслСдовано ΠΎΡ‚ Object)
ParallelPrefix (Double [], IDoubleBinaryOperator)
ParallelPrefix (Double [], Int32, Int32, IDoubleBinaryOperator)
ParallelPrefix (Int32 [], IIntBinaryOperator)
ParallelPrefix (Int32 [], Int32, Int32, IIntBinaryOperator)
ParallelPrefix (Int64 [], ILongBinaryOperator)
ParallelPrefix (Int64 [], Int32, Int32, ILongBinaryOperator)
ParallelPrefix (Object [], IBinaryOperator)
ParallelPrefix (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, IBinaryOperator)
ParallelSetAll (Double [], IIntToDoubleFunction)
ParallelSetAll (Int32 [], IIntUnaryOperator)
ParallelSetAll (Int64 [], IIntToLongFunction)
ParallelSetAll (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], IIntFunction)
ParallelSort (Π‘Π°ΠΉΡ‚ [])
ParallelSort (Π‘Π°ΠΉΡ‚ [], Int32, Int32)
ParallelSort (Char [])
ParallelSort (Char [], Int32, Int32)
ParallelSort (Π”Π²ΠΎΠΉΠ½ΠΎΠΉ [])
ParallelSort (Double [], Int32, Int32)
ParallelSort (Int16 [])
ParallelSort (Int16 [], Int32, Int32)
ParallelSort (Int32 [])
ParallelSort (Int32 [], Int32, Int32)
ParallelSort (Int64 [])
ParallelSort (Int64 [], Int32, Int32)
ParallelSort (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])
ParallelSort (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], IComparator)
ParallelSort (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32)
ParallelSort (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, IComparator)
ParallelSort (Один [])
ParallelSort (Один [], Int32, Int32)
SetAll (Double [], IIntToDoubleFunction)
SetAll (Int32 [], IIntUnaryOperator)
SetAll (Int64 [], IIntToLongFunction)
SetAll (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], IIntFunction)
SetHandle (IntPtr, JniHandleOwnership)

УстанавливаСт свойство Handle.

(УнаслСдовано ΠΎΡ‚ Object)
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Π‘Π°ΠΉΡ‚ [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Π‘Π°ΠΉΡ‚ [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (Char [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Char [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Двойная [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Double [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Int16 [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Int16 [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Int32 [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Int32 [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Int64 [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Int64 [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ массива Π² СстСствСнном порядкС возрастания.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], IComparator)
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² СстСствСнном порядкС возрастания.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [], Int32, Int32, IComparator)
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ [])

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ массив Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (Single [], Int32, Int32)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массивС Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ числовом порядкС.

Π‘ΠΏΠ»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])
Π‘ΠΏΠ»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ (Object [], Int32, Int32)
ToArray () (УнаслСдовано ΠΎΡ‚ Object)
ΠΠ°Π½ΠΈΠ·Ρ‹Π²Π°Ρ‚ΡŒ()

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅, ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ описаниС этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

(УнаслСдовано ΠΎΡ‚ Object)
ToString (Boolean [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ логичСского значСния [] .

ToString (Π‘Π°ΠΉΡ‚ [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° [] .

ToString (Char [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ char [] .

ToString (Π”Π²ΠΎΠΉΠ½ΠΎΠ΅ [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ double [] .

ToString (Int16 [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ short [] .

ToString (Int32 [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ int [] .

ToString (Int64 [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ long [] .

ToString (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Object [] .

ToString (Single [])

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ String прСдставлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа float [] .

UnregisterFromRuntime () (УнаслСдовано ΠΎΡ‚ Object)
Π–Π΄Π°Ρ‚ΡŒ()

ЗаставляСт Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ notify () ΠΈΠ»ΠΈ notifyAll () этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

(УнаслСдовано ΠΎΡ‚ Object)
ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ (Int64)

ЗаставляСт Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ notify () ΠΈΠ»ΠΈ notifyAll () этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ истСкаСт.

(УнаслСдовано ΠΎΡ‚ Object)
ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ (Int64, Int32)

ЗаставляСт Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ notify () ΠΈΠ»ΠΈ notifyAll () этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ истСкаСт.

(УнаслСдовано ΠΎΡ‚ Object)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с массивами (Ρ‚ΠΈΠΏ [])

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с массивами (Ρ‚ΠΈΠΏ [])

AnyLogic прСдоставляСт Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Java (Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°: int [], double [] ΠΈΠ»ΠΈ экзСмпляры Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ класса Java: ΠžΠ±ΡŠΠ΅ΠΊΡ‚[]).

Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°

Имя

ОписаниС

логичСскоС

содСрТит (массив double [], Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° double)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ истинный Ссли массив содСрТит Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

содСрТит (int [] массив, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ int)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ истинный Ссли массив содСрТит Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

содСрТит (Object [] массив, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ истинный Ссли массив содСрТит Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .equals () функция.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOf (массив double [], Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° double)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ появлСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния Π² массивС. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив ноль ΠΈΠ»ΠΈ пусто.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOf (массив int [], Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ int)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ появлСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния Π² массивС. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив ноль ΠΈΠ»ΠΈ пусто.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOf (массив Object [], Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² массив.ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .equals () функция.
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив ноль ΠΈΠ»ΠΈ пусто.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ массивы любого Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOfMax (двойной [] массив)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс максимального значСния ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOfMax (массив int [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс максимального значСния ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOfMin (массив double [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс минимального значСния ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ

indexOfMin (массив int [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс минимального значСния ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ

макс (двойной [] массив)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.
Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Double.NaN Ссли массив содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Double.NaN значСния.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив ноль ΠΈΠ»ΠΈ пусто.

Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ

макс (массив int [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ пустой.

Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ

мин (двойной [] массив)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.
Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Double.NaN Ссли массив содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π”Π²ΠΎΠΉΠ½ΠΎΠΉ.NaN значСния.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив ноль ΠΈΠ»ΠΈ пусто.

Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ

мин (массив int [])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.
Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ пустой.

.