introduction java arrays
Цей посібник знайомить з поняттям масивів у Java. Ми також представили відповідні теми, такі як довжина, типи даних, клонування, копіювання, сортування тощо під масивами Java:
У програмуванні ви завжди маєте справу з даними. Дані потрібно зберігати в місцях пам'яті, і для того, щоб час від часу отримувати до них доступ і обробляти їх відповідно, їм слід давати якусь назву. Це робиться за допомогою змінних.
Таким чином, якщо ви хочете зберегти значення 10 в пам'яті, ви оголосите змінну типу int і збережете значення як int num = 10;
Тепер припустимо, що ваша вимога до програми така, що вам потрібно 10 змінних типу int.
У цьому випадку вам доведеться оголосити 10 змінних типу int таким чином:
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Вищезазначені декларації покладуть непотрібний тягар обслуговування на програміста. Замість того, щоб оголосити стільки змінних, як щодо оголошення однієї змінної, а потім призначити цій змінні всі ці 10 значень? Це те, що ми будемо робити, коли визначаємо масив і призначаємо йому значення.
Почнемо з масивів на Java.
Що ви дізнаєтесь:
- Масив Java
- Висновок
Масив Java
Масиви - це не що інше, як структура даних, яка використовується для послідовного зберігання елементів даних одного типу. З наведеного вище прикладу ви можете змінити визначення десяти змінних в одну змінну і зберегти всі десять значень за допомогою індексів.
Давайте зробимо це наступним чином:
A (0) = 1;
A (1) = 2;
A (2) = 3;
A (3) = 4;
A (4) = 5;
A (5) = 6;
A (6) = 7;
A (7) = 8;
A (8) = 9;
A (9) = 10;
Ми зберегли всі десять значень у змінній на основі індексу. Перший індекс починається з 0. Отже, перше значення дорівнює 0гоіндекс, а останнє значення - 9гоіндекс. Ці індекси також називаються індексами.
У пам’яті комп’ютера зазначений вище масив A буде представлений у вигляді:
Тепер ми можемо визначити масив як змінну, яка є набором елементів одного типу даних і зберігається у суміжних місцях пам'яті. Розмір масиву вказується під час оголошення та, отже, розмір є фіксованим.
Масиви, які ми будемо обговорювати в цьому посібнику, - це масиви фіксованого розміру або статичні. Java також підтримує динамічні масиви під назвою 'ArrayList', розмір яких можна змінювати на льоту. Ми будемо детально обговорювати ArrayList пізніше.
Нижче перелічено деякі характеристики масивів у Java:
- У Java масив - це об’єкт, створений з динамічно генерованого класу.
- Внутрішньо масив Java реалізує інтерфейси, що серіалізуються та клонуються.
- У масиві Java також є батьківський клас об’єктного класу.
- Ви можете зберігати вбудовані та похідні значення типу в масивах Java.
- Ви можете отримати довжину масиву, використовуючи елемент length, а не sizeof, як у C / C ++.
- Java дозволяє як масиви, так і багатовимірні.
У цьому підручнику ми ознайомимо читача з усіма концепціями масиву, до якого ми йдемо
висвітлити в цій серії про Java Arrays.
Давайте розпочнемо!!
Java Array - Створення та ініціалізація
Для їх використання в програмі потрібно створити масиви. Створення масивів включає в себе вказівку типу даних елементів, які масив буде містити, а також кількість елементів, які масив буде містити.
Ми обговоримо створення масивів різними способами, а також різними методами, за допомогою яких ми можемо ініціалізувати масиви.
Приклад одного з методів, використаних для створення та ініціалізації масиву, наведено нижче.
public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('myArray(0):' + myArray(0)); System.out.println('myArray(1):' + myArray(1)); System.out.println('myArray(2):' + myArray(2)); System.out.println('myArray(3):' + myArray(3)); System.out.println('myArray(4):' + myArray(4)); } }
Вихід:
У цій програмі ми оголосили масив int, а потім створили його за допомогою new. Тоді ми ініціалізували елементи в індексах 0 та 1 зі значеннями 1 та 3 відповідно.
Нарешті, ми друкуємо всі елементи масиву. Зверніть увагу, що елементи, які ми не ініціалізували, мають значення за замовчуванням 0, оскільки тип масиву - int.
Друк елементів у масиві Java
Коли масиви використовуються в програмах, вони обов’язково відображатимуться. Для відображення елементів масиву ми використовуємо спеціальні методи, такі як for loop, forEach loop, toString метод класу Arrays тощо. Ця тема включає всі різні методи, що використовуються для друку елементів масиву.
Нижче наведено програму, яка використовує метод toString класу «Масиви» для друку елементів масиву.
import java.util.*; public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('Array Elements : ' + Arrays.toString(myArray)); } }
Вихід:
Довжина масиву в Java
Довжина масиву вказує кількість елементів, присутніх у масиві. На відміну від C / C ++, де ми використовуємо оператор ‘sizeof’, щоб отримати довжину масиву, масив Java має властивість ‘length’. Ми дізнаємось більше про цю нерухомість пізніше.
Нижче наведено програму, яка відображає довжину масиву.
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; System.out.println('Size of the given array : ' + myArray.length); } }
Вихід:
У цій програмі ми ініціалізували масив за допомогою літералу масиву, а потім за допомогою властивості length відображаємо розмір / довжину масиву.
тип тестування при розробці програмного забезпечення
Типи даних масиву Java
Ви можете мати масиви всіх типів даних. У цій темі ми дослідимо масиви з різними типами даних та їх визначеннями.
У наведеній нижче програмі ми визначили масиви типів int та string та відобразили їх відповідний вміст .
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; String() strArray = {'one','two','three','four','five'}; System.out.println('Elements of int array : ' + Arrays.toString(myArray)); System.out.println('Elements of String array : ' + Arrays.toString(strArray)); } }
Вихід:
Додавання елемента до масиву
Додавання елемента до масиву є важливою операцією. Масиви в Java є статичними та фіксованої довжини. Отже, вам потрібно надати певний набір операцій, щоб додати новий елемент до масиву. Тут будуть розглянуті різні методи додавання елемента до масиву.
Одним із методів додавання елемента до масиву є використання ArrayList як проміжної структури. Перетворюємо масив у ArrayList. Потім ми додаємо елемент до ArrayList і змінюємо ArrayList назад на array.
У наведеній нижче програмі показано це впровадження.
import java.util.*; class Main { public static void main(String() args) { int n = 10; int i; Integer intArray() = { 1, 2, 3, 4, 5 }; System.out.println('Original Array:
' + Arrays.toString(intArray)); int num = 10; Listintlist = new ArrayList(Arrays.asList(intArray)); intlist.add(num); intArray = intlist.toArray(intArray); System.out.println('
Array after adding ' + num + '
' + Arrays.toString(intArray)); } }
Вихід:
Видалення / видалення елемента з масиву
Видалення елемента з масиву - це ще одна важлива операція. Java безпосередньо не дозволяє нам видалити елемент. Тому для цього ми використовуємо інші варіанти.
Нижче наведено реалізацію одного з методів видалити елемент з масиву за допомогою ArrayList .
import java.util.*; importjava.util.stream.*; class Main { public static void main(String() args) { int() tensArray = { 10,20,30,40,50}; System.out.println('Input Array: '+ Arrays.toString(tensArray)); int index = 1; System.out.println('Index to be removed: ' + index); if (tensArray == null || index = tensArray.length) { System.out.println('No element to delete'); } ListtensList = IntStream.of(tensArray).boxed().collect(Collectors.toList()); tensList.remove(index); tensArray = tensList.stream().mapToInt(Integer::intValue).toArray(); System.out.println('Array after deleting element at '+ index + ':
'+ Arrays.toString(tensArray)); } }
Вихід:
Тут ми спочатку перетворюємо масив на ArrayList, а потім видаляємо елемент за допомогою методу ArrayList remove. Після цього ми перетворюємо ArrayList назад у масив і виводимо змінений масив.
Копіювання масиву в Java
Ми обговоримо деякі операції копіювання елементів масиву з одного масиву в інший. Ми також обговоримо поверхневе та глибоке копіювання масивів.
Одним з таких методів є метод copyOf () класу Arrays пакету java.util .
import java.util.*; public class Main { public static void main(String() args) { int() intArray = {10,15,20,25,30,35,40}; int array_len = intArray.length; System.out.println('Original Array:' + Arrays.toString(intArray)); int() copy_intArray = Arrays.copyOf(intArray, array_len); System.out.println('Copied Array:' + Arrays.toString(copy_intArray)); } }
Вихід:
Метод 'copyOf' класу Arrays копіює масив, вказаний як аргумент, разом з його довжиною, в інший масив.
Клонування масиву в Java
Ви також можете зробити клон масиву в Java. Java пропонує метод для цього в пакеті ArrayUtils. Тут ми докладніше вивчимо клонування.
Давайте реалізуємо простий приклад, який клонує масив у Java.
import java.util.*; class Main { public static void main(String args()) { int num_Array() = {5,10,15,20,25,30}; int clone_Array() = num_Array.clone(); System.out.println('Original num_Array:' + Arrays.toString(num_Array)); System.out.println('Cloned num_Array:'+ Arrays.toString(clone_Array)); } }
Вихід:
Таким чином, клонування - це просто копіювання іншим способом.
Сортування масивів на Java
Сортування елементів масиву або впорядкування їх за зростанням або спаданням - одна з важливих операцій. Більшості програм потрібно сортувати їх дані. Java забезпечує сортування фільтрів для масивів. Ми детально обговоримо це під час сортування.
Далі наведено простий приклад s введення масиву в Jave за допомогою методу Arrays.sort () .
import java.util.Arrays; public class Main { public static void main(String() args) { int() num_Array = {115,32,56,78,94,108,100,63}; System.out.println('Original Array: ' + Arrays.toString(num_Array)); Arrays.sort(num_Array); System.out.println('Sorted Array: ' + Arrays.toString(num_Array)); } }
Вихід:
Як показано вище, метод сортування класу Arrays сортує елементи масиву за зростанням.
Змінити масив у Java
Реверсування послідовності елементів також не забезпечується масивами. Так само, як і видалити, ми маємо зробити певний перелом і досягти результатів. У цій темі ми побачимо методи обернення масиву.
Наступна програма показує реалізація реверсивного масиву .
import java.util.*; public class Main { public static void main(String() args) { Integer () even_Arrayr = {2,4,6,8,10}; System.out.println('Original Array:' + Arrays.asList(even_Arrayr)); Collections.reverse(Arrays.asList(even_Arrayr)); System.out.println('Reversed Array:' + Arrays.asList(even_Arrayr)); } }
Вихід:
Виняток ArrayIndexOutOfBounds
При спробі отримати доступ до елементів масиву, що перевищує вказану довжину або від’ємний індекс, компілятор видає виняток «ArrayIndexOutOfBounds». Більше про цей виняток ми розглянемо у нашій відповідній темі.
import java.util.ArrayList; public class Main { public static void main(String() args) { ArrayListmyList = new ArrayList(); myList.add('one'); myList.add('two'); System.out.println(myList.get(2)); } }
Вихідні дані :
У наведеній вище програмі у нас є ArrayList із двома записами, і ми намагаємось отримати запис із індексом 2, який не існує. Звідси програма надає виняток IndexOutofBounds.
Струнковий масив Java та різні методи
Серед усіх типів даних, які підтримує Java, String є найважливішим. Отже, масив типу String також заслуговує на особливу дискусію. Оскільки дані, що містяться в масиві рядків, є переважно текстовими, існують різні способи маніпулювання текстом.
import java.util.ArrayList; public class Main { public static void main(String() args) { String() rgb = {'Red', 'Green', 'Blue'}; System.out.println('The string array elements:'); for (String item: rgb) { System.out.print(item + ' '); } } }
Вихід:
Це базова програма для масиву рядків. Щойно ми оголосили масив рядків і відобразили його вміст за допомогою циклу forEach.
Багатовимірні масиви в Java
Поки що ми бачили лише одновимірні масиви. Java також підтримує багатовимірні масиви, що мають елементи, переважно розташовані в рядки та стовпці. Масиви в Java стають більш складними, оскільки кожен елемент масиву може містити інший масив.
Ми дослідимо багатовимірні масиви на Java разом з їх конкретними операціями тут.
Давайте реалізуємо приклад двовимірного масиву.
class Main { public static void main(String args()) { // declaring and initializing 2D array int array_2d()() = { {1,2,3},{4,5,6},{7,8,9} }; System.out.println('The two-dimensional array is as follows:'); for (int i=0; i<3 ; i++) { for (int j=0; j < 3 ; j++) System.out.print(array_2d(i)(j) + ' '); System.out.println(); } }
Вихід:
Масив об'єктів Java
Окрім зберігання примітивних типів, масиви Java також можуть зберігати об'єкти. У цій темі ми розглянемо кілька прикладів масиву об’єктів.
Один із прикладів наведено нижче.
class Main{ public static void main(String args()){ Test testobj() = new Test(2) ; testobj(0) = new Test(); testobj(1) = new Test(); testobj(0).setData(1,3); testobj(1).setData(2,4); System.out.println('For Array Element 0 (testobj(0)):'); testobj(0).displayData(); System.out.println('For Array Element 1 (testobj(1)):'); testobj(1).displayData(); } } class Test{ int val1; int val2; public void setData(int c,int d){ val1=c; val2=d; } public void displayData(){ System.out.print('val1 ='+val1 + '; val2 ='+val2 + '
'); } }
Вихід:
Ми можемо мати масиви, що містять елементи як об’єкти. У наведеній вище програмі ми маємо масив об’єктів класу Test. Ми індивідуально викликаємо функції-члени для кожного об’єкта для встановлення та відображення значень.
Повернути масив на Java
Таким же чином, коли ми повертаємо змінну з будь-якого методу, ми можемо повернути і масив. Подібним чином ми можемо передати масив методу. Обидві ці можливості будуть обговорені на прикладах тут.
Зазвичай посилання на масив передається в / з методу.
Наступна програма демонструє повернення масиву в Java .
class Main { static int() add_sub(int val1, int val2) { int() result = new int(2); result(0) = val1 + val2; result(1) = val1 - val2; return result; } public static void main(String() args) { int() result = add_sub(10, 5); System.out.println('val1 + val2 = ' + result(0)); System.out.println('val1 - val2 = ' + result(1)); } }
Вихід:
У наведеній вище програмі ми виконуємо дві операції, тобто додавання і віднімання двох чисел. Результат кожної операції зберігається як елемент у масиві. Потім все посилання на масив повертається до функції, що викликає.
Клас Java-масиву
Клас масиву Java - це клас із пакету java.util, який забезпечує функціональність для маніпуляцій з масивами. Він забезпечує безліч функцій, таких як копіювання масиву, сортування, перетворення масиву в рядок тощо.
Загальний масив Java
Ми вже бачили загальні засоби в Java, які є незалежними від типу сутностями. Масиви Java можуть бути загальними, у яких їх можна визначити як незалежні від типів. Але загальний код недоступний, коли генерується байт-код, і тому важко визначити тип елемента, масив буде утримуватися під час виконання.
Таким чином, замість масивів ми переходимо до списків із фреймворку колекцій Java, коли потрібні загальні засоби.
Однак ми також можемо мати загальну структуру масиву, використовуючи один або кілька методів. Тут ми дослідимо ці методи.
Приклад одного з методів використання масивів об’єктів наведено нижче.
import java.util.Arrays; class Main { public static void main(String() args) { final int length = 5; //integer array object from Generic_Array class Generic_ArrayintArray = new Generic_Array(length); for (int i = 0; i Вихід:

Отже, у наведеній вище програмі ми написали загальний клас масиву з масивом об’єктів як елементом та методами get / set для отримання / встановлення об’єктів масиву. Ми також замінили метод toString класу Arrays. У класі Main ми створюємо два об'єкти загального класу масивів типу Integer і String і присвоюємо їм відповідні значення.
Нерівні масиви в Java
Зубчасті масиви - це багатовимірні масиви з кожним масивом-членом різних розмірів. Нерівний масив також є прикладом масиву масивів.
Наступна програма показує приклад масиву із зазубренню.
class Main { public static void main(String() args) { int jagged_array()() = new int(2)(); jagged_array(0) = new int(4); jagged_array(1) = new int(2); for (int i=0; i Вихід:

У вищезазначеній програмі ми маємо 2D-масив. Перший розмір масиву дорівнює 4, а другий - 2. Вихідні дані показують вміст обох розмірів зазубреного масиву.
Масиви в Java 8
Оскільки Java 8 була основним випуском Java, ми переглянемо зміни, які вона спричинила до масивів. Наприклад, потоки на масивах були введені в Java 8.
Імпортувати масив в Java
Ми можемо включити додаткову функціональність для масивів на Java, імпортуючи клас «Масиви» пакету «java.util».
Ми також можемо імпортувати пакет arrayutils, щоб отримати більше функціональних можливостей. Ви, мабуть, отримали більше знань про функціональність імпорту з наших попередніх прикладів.
API масиву Java та документація
API масиву Java - це сукупність усіх функцій, які діють на масиви Java. Ми розглянемо цей інтерфейс прикладного програмування (API) тут.
Нарешті ми перерахували всі властивості та методи, а також їх опис для масивів Java. Це допоможе читачам із швидким довідником.
Часті запитання
Q # 1) Чи є масиви примітивними типами даних у Java?
Відповідь: Ні. Масиви не є примітивними типами даних, але масиви - це об’єкти-контейнери, які містять елементи одного типу даних у суміжних місцях.
Q # 2) Чи є посилальні типи масивів у Java?
Відповідь: Так. Масив є контейнером об’єктів і розглядається як посилання.
Q # 3) Чи можете ви збільшити розмір масиву в Java?
Відповідь: Ні. Ви оголошуєте масиви та створюєте їх за розміром. Після вказівки ви не можете змінити розмір масиву.
Висновок
У цьому підручнику ми познайомили вас з поняттям масивів у Java. Ми обговорили основні теми, пов'язані з масивами Java.
У наступних навчальних посібниках ми детально вивчимо ці теми, пов’язані з масивами на Java.
Щасливого навчання !!
Рекомендована література
- Java-типи даних, цикли, масиви, комутатори та твердження
- Винятки Java та обробка винятків з прикладами
- Підручник з Java Generics з прикладами
- Інтерфейс Java та підручник з абстрактних класів із прикладами
- Вступ до мови програмування Java - Підручник з відео
- Рядок Java із підручником для буфера рядків та побудови рядків
- Підручник JAVA для початківців: 100+ практичних відео-підручників Java
- Багатовимірні масиви та нерівні масиви в C #