русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Багатовимірні масиви Java

Багатовимірні масиви в Java відрізняються своїм оголошенням від мов Сі і Паскаль.

Багатовимірні масиви - це масиви масивів.

Int mx[][] = new int[4][];

При распределемии пам'яті необхідно вказати величину першого крайнього зверху. Вимірювання під інші пам'ять можна розподіляти окремо.

mx[0] = new int [5];
mx[1] = new int [4];
mx[2] = new int [2];
mx[3] = new int [9];

Для кожного масиву кількість може бути своїм. Такі масиви називають нерегулярними або ступінчастими. Це полездно при ініціалізації розряджених масивів (де використовуються не всі елементи) .

При ініціалізації можна використовувати константу і змінну.

int x = 10;
int i = 0;
int mx[][]= { {x*i++, x*i++}, {x*i++, x*i++}};

Чи можна так:

int x = 10;
int i = 0;
int mx[][]= new int[][] { {x*i++, x*i++}, {x*i++, x*i++}};

Альтернативний систаксис

Альтернативну форму оголошення масивів зручно використовувати

int [] a1,a2,a3;

int [][]mx1 = new int [2][2],
mx2 =new int [3][4],
mx3,mx4= {{1,2,3},{4,5},{6}};

int mx11[][] = new int[2][2];
int[]mx111 = mew int[2][2];

У мові Java не допускаються покажчики (*).

Ітерації в багатовимірному масиві

Вдосконалений цикл for застосовний до багатовимірним масивів, так як багатовимірні масиви складаються з подмассивов. Тип ітераційної змінної повинен бути сумісний з типом отриманого масиву.

Для виконання ітерації в масиві розмірністю N, одержувані об'єкти будуть масивами размернотю N-1, що повинен придемонстрировать розглянутий приклад:

class Main{
static void main(String[] args) {
int [][] mx4= {{1,2,3},{4,5},{6}};
for (int [x]:mx4){
System.out.printf("len = %d:", x.length);
for (int z:x){
System.out.printf(" %d:", z);
System.out.println();
}
}
}
}

Багатовимірні масиви java

Набір операцій з масивами. Поверхневе копіювання

У випадку з масивом об'єкта копіюються тільки посилання

int[a] = {1,2,3,4}, b = {9,8};
System.arraycopy(b, 0, a, 2, b.length);
System.out.println(Arrays.toString(a)); //1,2,9,8

Масиви рівні якщо кількість елементів одинакаово і відповідні елементи еквівалентні.

int [] c = {1,2,3}, d= {1,2,3}, e = {1,2};
System.out.println(Arrays.equals(c,d)); //true
System.out.println(Arrays.equals(d,e)); //false

Переглядів: 4583

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн