16. Java – Масиви
Масиви в Java – це структура даних, що зберігає впорядковані колекції фіксованого розміру елементів потрібного типу. Java масив використовується для зберігання колекції даних, але часто буває корисно думати про масив як про сукупність змінних одного типу.
Замість оголошення окремих змінних, таких як number0, number1, . і number99, Ви оголошуєте одну змінну масиву, наприклад, numbers і використовуєте numbers[0], numbers[1], . і numbers[99], для відображення окремих змінних.
Дана стаття ознайомить Вас як Java оголосити масив змінних, створити і обробляти масив за допомогою індексованих змінних.
Оголошення масиву
Щоб використовувати масив у програмі, необхідно оголосити змінну посилання на масив, і Ви повинні вказати тип масиву, який може посилатися на змінну. Синтаксис для оголошення змінної масиву:
dataType[] arrayRefVar; // Кращий метод. або dataType arrayRefVar[]; // Працює, але не є кращим способом.
Примітка: стиль dataType[] arrayRefVar є кращим. Стиль dataType arrayRefVar[] походить з мови C/C++ і був прийнятий Java для C/C++-програмістів.
приклад
Наступні фрагменти коду приклади використання цього синтаксису:
double[] myList; // Кращий метод. або double myList []; // Працює, але не є кращим способом.
Створення масиву
У Java створити масив можна за допомогою оператора new за допомогою наступного синтаксису:
arrayRefVar = новий dataType[arraySize];
Вищезгадане оголошення робить дві речі:
- Створює масив, використовуючи новий dataType[arraySize];
- Посилання на недавно створений масив присвоюється змінною arrayRefVar.
Оголошення змінної, створення та присвоєння змінної посилання масиву можуть бути об'єднані в одному операторі, як показано нижче:
dataType[] arrayRefVar = new dataType[arraySize];
В якості альтернативи масиву Java можна створювати наступним чином:
dataType[] arrayRefVar = ;
Елементи масиву доступні через індекс. Відлік індексів ведеться від 0; тобто вони починають від 0 до arrayRefVar.length-1.
приклад
Наступний оператор оголошує масив змінних myList, створює масив із 10 елементів типу double і надає посилання myList:
double[] myList = new double[10];
Зображення відображає масив myList. Тут myList має десять значень double та індекси від 0 до 9.
Робота з масивами
При роботі з елементами масиву часто використовують цикл for або цикл foreach тому, що всі елементи мають однаковий тип і відомий розмір.
приклад
Повний приклад, що показує, як створювати, ініціалізувати та обробити масив:
public class TestArray < public static void main(String[] args) < double[] myList = ; // Вивести на екран усі елементи масиву for (int i = 0; i < myList.length; i++) < System.out.println(myList[i] + " "); >// Сума елементів масиву double total = 0; for (int i = 0; i < myList.length; i++) < total + = myList [i]; >System.out.println("Сума чисел масиву: "+ total); // Знаходження серед елементів масиву найбільшого double max=myList[0]; for (int i = 1; i < myList.length; i++) < if (myList [i] > max) max = myList [i]; > System.out.println("Найбільший елемент:" + max); > >
Отримаємо наступний результат:
1.9 2.9 3.4 3.5 Сума чисел масиву: 11.7 Найбільший елемент: 3.5
Цикл foreach
JDK 1.5 представила новий цикл for, відомий як foreach цикл або розширений цикл for, який дозволяє послідовно пройти весь масив без використання індексу змінної.
приклад
Наступний код відображає всі елементи у масиві myList:
public class TestArray < public static void main(String[] args) < double[] myList = ; // Вивести масив на екран for (double element: myList) < System.out.println(element); >> >
Отримаємо наступний результат:
Передача масиву в метод
Також як можна передати значення примітивного типу метод, можна також передати масив метод. Наприклад, наступний метод відображає елементи в int масиві:
public static void printArray(int[] array) < for (int i = 0; i < array.length; i++) < System.out.print(array[i] + " "); >>
Його можна викликати шляхом передачі масиву. Наприклад, наступний оператор викликає метод printArray для відображення 3, 1, 2, 6, 4 та 2:
Повернення масиву з методу
Метод може повертати масив. Наприклад, метод, показаний нижче, повертає масив, який є реверсування іншого масиву:
public static int[] reverse(int[] list) < int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) < result[j] = list[i]; >return result; >
Методи для масиву
Клас java.util.Arrays містить різні статичні методи для пошуку, сортування, порівняння та заповнення елементів масиву. Методи перевантажуються всім примітивних типів.
| № | Опис |
| 1 | public static int binarySearch(Object[] a, Object key) Шукає заданий масив об'єктів (byte, int, double тощо) для зазначеного значення, використовуючи алгоритм двійкового пошуку. Масив має бути відсортований до виконання цього дзвінка. Це повертає індекс ключа пошуку, якщо він міститься у списку; інакше (-(точка вставки + 1). |
| 2 | public static boolean equals(long[] a, long[] a2) Повертає значення true, якщо два зазначені масиви рівні один одному. Два масиви вважаються рівними, якщо обидва масиви містять однакову кількість елементів, і всі відповідні пари елементів двох масивах рівні. Такий самий метод можна використовувати всіма іншими примітивними типами даних (byte, short, int тощо.). |
| 3 | public static void fill(int[] a, int val) Надає певне значення int до кожного елемента вказаного цілого масиву. Такий самий метод можна використовувати всіма іншими примітивними типами даних (byte, short, int тощо.). |
| 4 | public static void sort(Object[] a) Цей метод сортування сортує вказаний масив об'єктів у порядку зростання відповідно до природного порядку його елементів. Такий самий метод можна використовувати всіма іншими примітивними типами даних (byte, short, int тощо.). |
Приклад 1: створення, оголошення змінних, визначення (виділення пам'яті) та ініціалізація масиву
Як приклад візьмемо тип даних int. Ви можете використовувати будь-який інший тип даних.
public class Test < public static void main(String[] args) < // Створення масивів myArrayInt1 і myArrayInt2 типу int та оголошення змінних int[] myArrayInt1; int myArrayInt2[]; // Визначення масиву або виділення пам'яті // Масив myArrayInt3 із 10 елементів з початковим значенням 0 для кожного елемента int[] myArrayInt3; myArrayInt3 = новий int[10]; // Масив myArrayInt4 з 20 елементів з початковим значенням 0 кожного елемента int[] myArrayInt4 = new int[20]; //Ініціалізація масиву // Масив myArrayInt5 із 5 елементів зі значеннями елементів 1, 3, 8, 10, 4 int[] myArrayInt5 = ; // Масив myArrayInt6 із 10 елементів з початковим значенням 0 для кожного елемента int[] myArrayInt6 = new int[10]; // Присвоєння другому елементу myArrayInt6 значення 14 myArrayInt6[2] = 14; // Присвоєння п'ятому елементу myArrayInt6 значення 8 myArrayInt6[5] = 8; > >
Приклад 2: довжина масиву
Дізнатися розмір масиву Java можна за допомогою методу length(). Цей метод дозволяє визначити розмірність масиву.
public class Test < public static void main(String[] args) < // Масив myArray1 з 5 елементів типу double. double[] myArray1 = ; // Виведення довжини масиву myArray1 на екран. System.out.println("Кількість елементів у масиві myArray1: " + myArray1.length); // Масив myArray2 із 4 елементів типу String. String[] myArray2 = ; // Виведення розміру масиву myArray2 на екран. System.out.println("Кількість елементів у масиві myArray2: " + myArray2.length); > >
Отримаємо наступний результат:
Кількість елементів у масиві myArray1: 5 Кількість елементів у масиві myArray2: 4
Приклад 3: максимальний елемент масиву
Прості способи для того, щоб знайти максимальне число в масиві Java. Спочатку скористаємося методом Math.max().
public class Test < public static void main(String[] args) < // Знаходження максимального елемента в масиві myArray з 4 елементів типу double. double[] myArray = ; // Змінної max задаємо мінімальне double-значення. double max = Double.MIN_VALUE; // Перебираємо всі елементи масиву. for (int i = 0; i < myArray.length; i++) < // Змінною max за допомогою методу Math.max() присвоюємо максимальне значення // шляхом вибору найбільшого з двох значень ("старого" значення max і значення елемента).max = Math.max(max, myArray[i]); >// Виводимо на екран найбільше масиву myArray. System.out.println("Максимальний елемент у масиві myArray:" + max); > >
Отримаємо наступний результат:
Максимальний елемент у масиві myArray: 11.1
Ще один приклад знаходження максимального числа в масиві Java. Тут ми не будемо використовувати жодних методів.
public class Test < public static void main(String[] args) < // Знаходження максимального значення в масиві myArray з 4 елементів типу double. double[] myArray =; // Змінною max задаємо значення нульового елемента. double max = myArray [0]; // Перебираємо всі елементи масиву. for (int i = 1; i < myArray.length; i++) < // Порівнюємо значення змінної max зі значеннями елемента масиву. // Якщо значення елемента масиву більше значення змінної max, // то нове значення змінної max дорівнюватиме значенню цього елемента. if (myArray[i] >max) < max = myArray[i]; >> // Виводимо на екран найбільший елемент масиву myArray. System.out.println("Максимальне значення в масиві myArray:" + max); > >
Отримаємо наступний результат:
Максимальне значення у масиві myArray: 11.1
Приклад 4: мінімальний елемент масиву
Написаний нижче код практично нічим не відрізняється від коду, описаного в прикладі 3. Він точно навпаки, просто тут ми шукаємо мінімальне число в масиві в Java. У першому способі скористаємося методом Math.min().
public class Test < public static void main(String[] args) < // Знаходження мінімального елемента в масиві myArray з 4 елементів типу double. double[] myArray =; // Змінною min задаємо максимальне double-значення. double min = Double.MAX_VALUE; // Перебираємо всі елементи масиву. for (int i = 0; i < myArray.length; i++) < // Змінною min за допомогою методу Math.min() присвоюємо мінімальне значення // шляхом вибору найменшого з двох значень ("старого" значення min та значення елемента).min = Math.min(min, myArray[i]); >// Виводимо на екран найменше масива myArray. System.out.println("Мінімальний елемент у масиві myArray:" + min); > >
Отримаємо наступний результат:
Мінімальний елемент у масиві myArray: 5.8
Ще один приклад знаходження максимального числа в масиві Java. Тут ми не будемо використовувати жодних методів.
public class Test < public static void main(String[] args) < // Знаходження мінімального значення в масиві myArray з 4 елементів типу double. double[] myArray =; // Змінною min задаємо значення нульового елемента. double min = myArray[0]; // Перебираємо всі елементи масиву. for (int i = 1; i < myArray.length; i++) < // Порівнюємо значення змінної min зі значеннями елемента масиву. // Якщо значення елемента масиву менше значення змінної min, // то нове значення змінної min дорівнюватиме значенню цього елемента. if (myArray[i] < min) < min = myArray[i]; >> // Виводимо на екран найменший елемент масиву myArray. System.out.println("Мінімальне значення в масиві myArray:" + min); > >
Отримаємо наступний результат:
Мінімальне значення у масиві myArray: 5.8
Приклад 5: сума масиву
У цьому прикладі розглянемо як отримати суму елементів масиву Java.
public class Test < public static void main(String[] args) < // Знаходження суми елементів у масиві myArray з 5 елементів типу double. double[] myList = ; // Ініціалізуємо змінну total. double total = 0; // Додаємо до змінної total кожен елемент масиву. for (int i = 0; i < myList.length; i++) < total + = myList [i]; >// Виведення результату на екран. System.out.println("Сума елементів масиву myList: "+ total); > >
Отримаємо наступний результат:
Сума елементів масиву myList: 34.9
А в цьому прикладі використовуємо покращений цикл for, щоб знайти суму масиву.
public class Test < public static void main(String[] args) < // Отримання суми елементів у масиві myArray з 5 елементів типу double. double[] myList =; // Ініціалізуємо змінну total. double total = 0; // Додаємо до змінної total кожен елемент масиву за допомогою покращеного циклу for. for(double element: myList) < total += element; >// Виведення результату на екран. System.out.println("Сума масиву myList: "+ total); > >
Отримаємо наступний результат:
Сума масиву myList: 34.9
Приклад 6: виведення масиву
У цьому прикладі розглянемо як вивести масив на екран Java.
public class Test < public static void main(String[] args) < // Виведення на екран масиву myArray з 5 елементів типу double. double[] myList =; // Виведення масиву на екран за допомогою покращеного циклу for. System.out.print("Виведення елементів масиву myList: "); for(double element : myList) < System.out.print(element + ", "); >// Виведення елементів масиву на екран. System.out.print("\nВиведення елементів масиву myList: "); for (int i = 0; i < myList.length; i++) < System.out.print(myList[i] + ", "); >> >
Отримаємо наступний результат:
Виведення елементів масиву myList: 11.5, 1.9, 5.32, 8.8, 15.8, Виведення елементів масиву myList: 11.5, 1.9, 5.32, 8.8, 15.8,
Приклад 7: виведення парних та непарних елементів масиву
У прикладі показано як вивести парні та непарні елементи масиву в Java.
public class Test < public static void main(String[] args) < // Масиву myArray з 5 елементів типу double. double[] myList =; // Виведення парних елементів масиву на екран. System.out.print("Парні елементи масиву myList:"); for (int i = 0; i < myList.length; i++) < if(myList[i]%2 == 0)< System.out.print(myList[i] + ", "); >> // Виведення непарних елементів масиву на екран. System.out.print("\nНепарні елементи масиву myList: "); for (int i = 0; i < myList.length; i++) < if(myList[i]%2 != 0)< System.out.print(myList[i] + ", "); >> > >
Отримаємо наступний результат:
Парні елементи масиву myList: 2.0, 12.0, Непарні елементи масиву myList: 2.7, 3.0, 23.8,
Приклад 8: виведення елементів масиву з парним та непарним індексом
У прикладі показано як вивести на екран елементи масиву з парним та непарним індексом.
public class Test < public static void main(String[] args) < // Масив myArray з 5 елементів типу double. double[] myList =; // Виведення елементів масиву з парним індексом на екран. System.out.print("Елементи масиву myList з парним індексом: "); for (int i = 0; i < myList.length; i++) < if(i%2 == 0)< System.out.print("індекс " + i + " = " + myList[i] + ", " ); >> // Виведення елементів масиву з непарним індексом на екран. System.out.print("\nЕлементи масиву myList з непарним індексом: "); for (int i = 0; i < myList.length; i++) < if(i%2 != 0)< System.out.print("індекс " + i + " = " + myList[i] + ", " ); >> > >
Отримаємо наступний результат:
Елементи масиву myList з парним індексом: індекс 0 = 11.5, індекс 2 = 5.32, індекс 4 = 15.8, Елементи масиву myList з непарним індексом: індекс 1 = 1.9, індекс 3 = 8.8,
Зміст
- 1. Java - Самовчитель для початківців
- 2. Java – Огляд мови
- 3. Java – Встановлення та налаштування
- 4. Java – Синтаксис
- 5. Java – Класи та об'єкти
- 6. Java – Конструктори
- 7. Java – Типи даних та літерали
- 8. Java - Типи змінних
- 9. Java – Модифікатори
- 10. Java – Оператори
- 11. Java – Цикли та оператори циклу
- 11.1. Java – Цикл while
- 11.2.Java – Цикл for
- 11.3. Java – Поліпшений цикл for
- 11.4. Java – Цикл do..while
- 11.5. Java – Оператор break
- 11.6. Java – Оператор continue
- 12. Java - Оператори прийняття рішень
- 12.1. Java – Оператор if
- 12.2. Java – Оператор if..else
- 12.3. Java – Вкладений оператор if
- 12.4. Java – Оператор switch..case
- 12.5. Java – Умовний оператор (?:)
- 13. Java – Числа
- 13.1. Java – Методи byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
- 13.2. Java – Метод compareTo()
- 13.3. Java – Метод equals()
- 13.4. Java – Метод valueOf()
- 13.5. Java – Метод toString()
- 13.6. Java – Метод parseInt()
- 13.7. Java – Метод Math.abs()
- 13.8. Java – Метод Math.ceil()
- 13.9. Java – Метод Math.floor()
- 13.10. Java - Метод Math.rint()
- 13.11. Java – Метод Math.round()
- 13.12. Java – Метод Math.min()
- 13.13. Java – Метод Math.max()
- 13.14. Java – Метод Math.exp()
- 13.15. Java – Метод Math.log()
- 13.16. Java – Метод Math.pow()
- 13.17. Java – Метод Math.sqrt()
- 13.18. Java – Метод Math.sin()
- 13.19. Java – Метод Math.cos()
- 13.20. Java – Метод Math.tan()
- 13.21. Java – Метод Math.asin()
- 13.22. Java – Метод Math.acos()
- 13.23. Java – Метод Math.atan()
- 13.24. Java – Метод Math.atan2()
- 13.25. Java – Метод Math.toDegrees()
- 13.26. Java – Метод Math.toRadians()
- 13.27. Java – Метод Math.random()
- 14. Java – Символи
- 14.1. Java – Метод Character.isLetter()
- 14.2. Java – Метод Character.isDigit()
- 14.3. Java – Метод Character.isWhitespace()
- 14.4. Java – Метод Character.isUpperCase()
- 14.5. Java – Метод Character.isLowerCase()
- 14.6. Java – Метод Character.toUpperCase()
- 14.7. Java – Метод Character.toLowerCase()
- 14.8. Java – Метод Character.toString()
- 15. Java – Рядки
- 15.1. Java – Метод charAt()
- 15.2. Java – Метод compareTo()
- 15.3. Java – Метод compareToIgnoreCase()
- 15.4. Java – Метод concat()
- 15.5. Java – Метод contentEquals()
- 15.6. Java – Метод copyValueOf()
- 15.7. Java – Метод endsWith()
- 15.8. Java – Метод equals()
- 15.9.Java - Метод equalsIgnoreCase()
- 15.10. Java – Метод getBytes()
- 15.11. Java – Метод getChars()
- 15.12. Java – Метод hashCode()
- 15.13. Java - Метод indexOf()
- 15.14. Java – Метод intern()
- 15.15. Java - Метод lastIndexOf()
- 15.16. Java – Метод length()
- 15.17. Java – Метод matches()
- 15.18. Java – Метод regionMatches()
- 15.19. Java – Метод replace()
- 15.20. Java – Метод replaceAll()
- 15.21. Java – Метод replaceFirst()
- 15.22. Java – Метод split()
- 15.23. Java – Метод startsWith()
- 15.24. Java – Метод subSequence()
- 15.25. Java – Метод substring()
- 15.26. Java – Метод toCharArray()
- 15.27. Java – Метод toLowerCase()
- 15.28. Java – Метод toString()
- 15.29. Java – Метод toUpperCase()
- 15.30. Java – Метод trim()
- 15.31. Java – Метод valueOf()
- 15.32. Java – Класи StringBuilder та StringBuffer
- 15.32.1. Java – Метод append()
- 15.32.2. Java – Метод reverse()
- 15.32.3. Java – Метод delete()
- 15.32.4. Java – Метод insert()
- 15.32.5. Java – Метод replace()
- 16. Java – Масиви
- 17. Java – Дата та час
- 18. Java – Регулярні вирази
- 19. Java - Методи
- 20. Java – Потоки вводу/виводу, файли та каталоги
- 20.1. Java – Клас ByteArrayInputStream
- 20.2. Java – Клас DataInputStream
- 20.3. Java – Клас ByteArrayOutputStream
- 20.4. Java – Клас DataOutputStream
- 20.5. Java – Клас File
- 20.6. Java – Клас FileReader
- 20.7. Java – Клас FileWriter
- 21. Java – Винятки
- 21.1. Java – Вбудовані винятки
- 22. Java – Вкладені та внутрішні класи
- 23. Java – Спадкування
- 24. Java – Перевизначення
- 25. Java – Поліморфізм
- 26. Java – Абстракція
- 27. Java - Інкапсуляція
- 28. Java – Інтерфейси
- 29. Java – Пакети
- 30. Java – Структури даних
- 30.1. Java – Інтерфейс Enumeration
- 30.2. Java – Клас BitSet
- 30.3. Java – Клас Vector
- 30.4. Java – Клас Stack
- 30.5. Java – Клас Dictionary
- 30.6. Java – Клас Hashtable
- 30.7. Java – Клас Properties
- 31. Java – Колекції
- 31.1.Java – Інтерфейс Collection
- 31.2. Java – Інтерфейс List
- 31.3. Java – Інтерфейс Set
- 31.4. Java – Інтерфейс SortedSet
- 31.5. Java – Інтерфейс Map
- 31.6. Java – Інтерфейс Map.Entry
- 31.7. Java – Інтерфейс SortedMap
- 31.8. Java – Клас LinkedList
- 31.9. Java – Клас ArrayList
- 31.10. Java – Клас HashSet
- 31.11. Java – Клас LinkedHashSet
- 31.12. Java – Клас TreeSet
- 31.13. Java – Клас HashMap
- 31.14. Java – Клас TreeMap
- 31.15. Java – Клас WeakHashMap
- 31.16. Java – Клас LinkedHashMap
- 31.17. Java – Клас IdentityHashMap
- 31.18. Java – Алгоритми Collection
- 31.19. Java – Iterator та ListIterator
- 31.20. Java – Comparator
- 32. Java – Дженерики
- 33. Java – Серіалізація
- 34. Java – Мережа
- 34.1. Java – Обробка URL
- 35. Java – Надсилання Email
- 36. Java - Багатопоточність
- 36.1. Java – Синхронізація потоків
- 36.2. Java – Міжпоточний зв'язок
- 36.3. Java – Взаємне блокування потоків
- 36.4. Java – Керування потоками
- 37. Java – Основи роботи з аплетами
- 38. Java – Javadoc
Масиви в Java - створення, доступ до елементів, зміна даних
Масив - це структура даних в Java, яка є впорядкованою колекцією елементів одного типу, які можуть бути звернені за індексом.
Java масиви можуть бути створені для зберігання елементів будь-якого типу, включаючи примітивні типи, такі як int, char, double і т.д., а також типи посилань, такі як об'єкти класів.
Для створення масиву в Java необхідно вказати тип елементів масиву, за яким слідують квадратні дужки []. Потім вказується ім'я змінної, якій буде надано створений масив, і використовується оператор new для виділення пам'яті під масив. Наприклад, наступний код створює масив цілих чисел:
int[] numbers = new int[5];
У цьому прикладі ми створили масив, який може містити 5 цілих чисел.Кожен елемент масиві має тип int і за замовчуванням ініціалізується значенням 0.
Щоб отримати доступ до елементів масиву, використовуйте індексацію, вказавши індекс елемента у квадратних дужках після імені масиву. Наприклад:
numbers[0] = 10; numbers[1] = 20;
У цьому прикладі присвоюємо значення 10 і 20 першому і другому елементу масиву відповідно, використовуючи індексацію.
Створення масиву в Java
Для створення масиву в Java необхідно виконати такі кроки:
- Визначити тип елементів масиву. Для створення масиву потрібно визначити тип елементів, які зберігатимуться у масиві. Елементи можуть бути будь-якого типу: примітивним типом, таким як int, char або double, або типом посилань, таким як String або об'єктом.
- Визначити розмір масиву. Розмір масиву визначає, скільки елементів можна зберігати у масиві. Розмір масиву має бути вказано перед створенням масиву і залишається незмінним протягом життя масиву.
- Створити масив. Створення масиву Java виконується за допомогою ключового слова new і оператора [] . Наступний код створює масив цілих чисел, що містить 5 елементів:
int[] myArray = new int[5];
- Ініціалізувати елементи масиву. Після створення масиву потрібно проініціалізувати його елементи. Це можна зробити, присвоюючи значення елементам масиву один за одним:
myArray[0] = 1; myArray[1] = 2; myArray[2] = 3; myArray[3] = 4; myArray[4] = 5;
Можна також створити масив та проініціалізувати його елементи в одному рядку:
Цей код створює масив та ініціалізує його елементи значеннями 1, 2, 3, 4 та 5.
Доступ до елементів масиву
Доступ до елементів масиву Java здійснюється за допомогою індексації.Індексація масиву починається з нуля, тобто перший елемент масиву має індекс 0, другий індекс 1 і т.д. Для доступу до елемента масиву потрібно вказати ім'я масиву та індекс елемента у квадратних дужках. Наприклад:
int[] myArray =; int element = myArray[2]; // Елемент з індексом 2, тобто. 3
У цьому прикладі ми створили масив цілих чисел і отримали доступ до третього елементу масиву, який має індекс 2. Результатом цієї операції буде значення 3, яке ми надали змінної element .
Зміна елементів масиву
Елементи масиву Java можуть бути змінені за допомогою індексації. Для зміни елемента масиву потрібно вказати ім'я масиву та індекс елемента у квадратних дужках, потім надати нове значення цьому елементу. Наприклад:
int[] myArray =; myArray[0] = 10; // Змінюємо значення першого елемента на 10
У цьому прикладі змінюємо значення першого елемента масиву на 10, використовуючи індексацію.
Можна змінювати значення декількох елементів масиву в одному рядку, використовуючи кілька операторів присвоєння:
int[] myArray =; myArray[0] = 10; myArray[2] = 30; myArray[4] = 50;
Цей код змінює значення першого, третього та п'ятого елементів масиву на 10, 30 та 50 відповідно.
Також можна змінювати елементи масиву циклі, використовуючи індексацію. Наприклад, наступний код збільшує кожен елемент масиву на 1:
int[] myArray =; for (int i = 0; iУ цьому прикладі ми використовуємо цикл для перебору всіх елементів масиву. До кожного елемента ми збільшуємо його значення на 1, використовуючи індексацію.
Багатомірні масиви в Java
У Java існують багатовимірні масиви, які є масиви масивів.Багатовимірний масив може бути створений як масив масивів, де кожен елемент зовнішнього масиву є масивом. Багатовимірний масив також може бути створений як таблиця, де кожен елемент таблиці є осередком, що має рядок і стовпець.
Для створення багатовимірного масиву Java використовується синтаксис, схожий на створення одномірного масиву, але із зазначенням розміру кожного вимірювання:
int[][] myArray = new int[3][4];
У цьому прикладі ми створюємо багатовимірний масив, що складається з 3 рядків та 4 стовпців. Кожен елемент масиву матиме тип int. Також можна створити масив масивів, вказавши кожен елемент зовнішнього масиву:
У цьому прикладі ми створюємо багатовимірний масив, що складається з 3 рядків та 3 стовпців. Кожен елемент масиву є масивом із трьох елементів типу int .
Доступ до елементів багатовимірного масиву здійснюється за допомогою індексації, як у разі одновимірного масиву. Для доступу до елемента двовимірного масиву необхідно вказати індекси кожного виміру:
int[][] myArray = , , >; int element = myArray[1][2]; // елемент у другому рядку та третьому стовпці, тобто. 6
У цьому прикладі ми отримуємо доступ до елемента багатовимірного масиву, розташованого в другому рядку та третьому стовпці. Результатом цієї операції буде значення 6, яке присвоюємо змінної element .
Ітерація з масивів у Java
У Java є кілька способів ітерації масивами, тобто перебору всіх елементів масиву. Розглянемо кілька із них.
int[] myArray =; for (int i = 0; iУ цьому прикладі ми перебираємо елементи масиву myArray за індексом i, починаючи з 0 і закінчуючи myArray.length-1.
- Вдосконалений цикл for. Java має вдосконалений цикл for, який дозволяє перебирати елементи масиву без явної індексації:
У цьому прикладі ми використовуємо вдосконалений цикл для перебору всіх елементів масиву myArray . При кожній ітерації змінна element набуває значення чергового елемента масиву.
- Метод Arrays.stream(). У Java є метод Arrays.stream() , який перетворює масив на потік (stream), дозволяючи виконувати операції з його елементами:
У цьому прикладі ми використовуємо метод Arrays.stream() для створення потоку, що містить елементи масиву myArray, а потім застосовуємо метод forEach() для виведення кожного елемента в консоль.
- Метод Arrays.asList(). Метод Arrays.asList() створює список елементів масиву, який можна перебирати за допомогою циклу for або ітератора:
У цьому прикладі ми використовуємо метод Arrays.asList() для створення списку myList, який містить елементи масиву myArray, а потім перебираємо його елементи за допомогою вдосконаленого циклу for. Зверніть увагу, що списки мають тип Integer , а не int .
Висновок
У Java масиви є зручний та ефективний спосіб зберігання та обробки колекції елементів одного типу. У цій мові програмування існують різні способи створення, доступу та зміни елементів масивів, а також ітерації з них.
Крім одномірних, Java також існують багатовимірні масиви, які можуть бути використані для зберігання і обробки більш складних структур даних.
Знання роботи з масивами є важливим для програмістів Java, оскільки масиви широко застосовуються в різних галузях програмування, включаючи наукові та інженерні розрахунки, обробку зображень, бази даних та багато інших.
Також ви можете почитати про ArrayList в іншій статті.
Як створити масив масивів у Java?
Масив представляє набір однотипних значень. Оголошення масиву схоже на оголошення звичайної змінної, яка зберігає одиночне значення, причому є два способи оголошення масиву:
тип_даних назва_масиву[]; // або тип_даних[] назва_масиву;
Наприклад, визначимо масив чисел:
Після оголошення масиву ми можемо його ініціалізувати:
int nums []; nums = New int [4]; // масив із 4 чисел
Створення масиву здійснюється за допомогою наступної конструкції: new тип_даних[кількість_елементів] , де new - ключове слово, що виділяє пам'ять для вказаної в дужках кількості елементів. Наприклад, nums = new int [4]; - у цьому виразі створюється масив із чотирьох елементів int, і кожен елемент матиме значення за умовчанням - число 0.
Також можна відразу при оголошенні масиву ініціалізувати його:
int nums[] = new int[4]; // масив із 4 чисел int[] nums2 = new int[5]; // масив із 5 чисел
За такої ініціалізації всі елементи масиву мають значення за замовчуванням. Для числових типів (зокрема для типу char) це число 0, типу boolean це значення false , а інших об'єктів це значення null . Наприклад, для типу int значенням за умовчанням є число 0, тому вище певний масив nums буде складатися з чотирьох нулів.
Однак також можна задати конкретні значення елементів масиву при його створенні:
// ці два способи рівноцінні int[] nums = new int[] <1, 2, 3, 5>; int[] nums2 = <1, 2, 3, 5>;
У цьому випадку у квадратних дужках не вказується розмір масиву, оскільки він обчислюється за кількістю елементів у фігурних дужках.
Після створення масиву ми можемо звернутися до будь-якого його елемента за індексом, який передається у квадратних дужках після назви змінної масиву:
int[] nums = new int[4]; // встановлюємо значення елементів масиву nums [0] = 1; nums[1] = 2; nums[2] = 4; nums[3] = 100; // Отримуємо значення третього елемента масиву System.out.println(nums[2]); // 4
Індексація елементів масиву починається з 0, тому в даному випадку, щоб звернутися до четвертого елементу в масиві, нам потрібно використовувати вираз nums [3].
І оскільки у нас масив визначено лише 4 елементів, ми можемо звернутися, наприклад, до шостому елементу: nums[5] = 5; . Якщо так спробуємо зробити, ми отримаємо помилку.
Довжина масиву
Найважливіша властивість, якою мають масиви, є властивість length , що повертає довжину масиву, тобто кількість його елементів:
int[] nums =; int length = nums.length; // 5
Нерідко буває невідомим останній індекс, і щоб отримати останній елемент масиву, ми можемо використовувати цю властивість:
int last = nums [nums.length-1];
Багатовимірні масиви
Раніше ми розглядали одновимірні масиви, які можна подати як ланцюжок або рядок однотипних значень. Але крім одновимірних масивів також бувають багатовимірними. Найбільш відомий багатовимірний масив - таблиця, що представляє двовимірний масив:
int[] nums1 = new int[] < 0, 1, 2, 3, 4, 5 >; int[][] nums2 = < < 0, 1, 2 >, < 3, 4, 5 >>;
Візуально обидва масиви можна представити так:
