Java — Массивы
Java предоставляет структуру данных, массив , в котором хранится последовательная коллекция элементов одного типа фиксированного размера. Массив используется для хранения набора данных, но часто полезнее думать о массиве как о наборе переменных одного типа.
Вместо объявления отдельных переменных, таких как число0, число1, ... и число99, вы объявляете одну переменную-массив, например числа, и используете числа[0], числа[1] и..., числа[99] для представления отдельные переменные.
В этом руководстве рассказывается, как объявлять переменные массива, создавать массивы и обрабатывать массивы с помощью индексированных переменных.
Объявление переменных массива
Чтобы использовать массив в программе, вы должны объявить переменную для ссылки на массив и указать тип массива, на который может ссылаться переменная. Вот синтаксис объявления переменной массива —
Синтаксис
dataType[] arrayRefVar; // preferred way. or dataType arrayRefVar[]; // works but not preferred way.
Примечание − Стиль dataType[] arrayRefVar является предпочтительным. Стиль dataType arrayRefVar[] исходит от C/C++ язык и был принят в Java для поддержки C/C++; программисты.
Пример
Следующие фрагменты кода являются примерами этого синтаксиса —
double[] myList; // preferred way. or double myList[]; // works but not preferred way.
Создание массивов
Вы можете создать массив с помощью оператора new со следующим синтаксисом —
Синтаксис
arrayRefVar = new dataType[arraySize];
Приведенное выше утверждение делает две вещи —
-
Он создает массив, используя новый dataType[arraySize].
-
Он присваивает ссылку на вновь созданный массив переменной arrayRefVar.
Объявление переменной массива, создание массива и присвоение ссылки на массив переменной можно объединить в одном операторе, как показано ниже —
dataType[] arrayRefVar = new dataType[arraySize];
В качестве альтернативы вы можете создавать массивы следующим образом —
dataType[] arrayRefVar = {value0, value1, ..., valuek};
Доступ к элементам массива осуществляется через индекс . Индексы массива отсчитываются от 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 = {1.9, 2.9, 3.4, 3.5}; // Print all the array elements for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); } // Summing all elements double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.println("Total is " + total); // Finding the largest element double max = myList[0]; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) max = myList[i]; } System.out.println("Max is " + max); } }
Это даст следующий результат —
Вывод
1.9 2.9 3.4 3.5 Total is 11.7 Max is 3.5
Цикл foreach
В JDK 1.5 появился новый цикл for, известный как цикл foreach или усовершенствованный цикл for, который позволяет последовательно проходить весь массив без использования индексной переменной.
Пример
Следующий код отображает все элементы массива myList —
Живая демонстрацияpublic class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // Print all the array elements for (double element: myList) { System.out.println(element); } } }
Это даст следующий результат —
Вывод
1.9 2.9 3.4 3.5
Передача массивов в методы
Точно так же, как вы можете передавать значения примитивного типа в методы, вы также можете передавать в методы массивы. Например, следующий метод отображает элементы в 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 —
Пример
printArray(new int[]{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 | <тд>|
2 | <тд>|
3 | <тд>|
4 | <тд>
java
- С# Массивы
- Операторы Java
- Массивы копирования Java
- Java-интерфейс
- Java-проба с ресурсами
- Java-аннотации
- Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
- C++ динамическое выделение массивов с примером
- Учебное пособие по массивам Java:объявление, создание, инициализация [пример]
- Как создать массив объектов в Java