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];

Приведенное выше утверждение делает две вещи:

  • Он создает массив с использованием new 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 содержит десять двойных значений, а индексы от 0 до 9.

Массив Java

Обработка массивов

При обработке элементов массива мы часто используем цикл 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 содержит различные статические методы для сортировки и поиска массивов, сравнения массивов и заполнения элементов массива. Эти методы перегружены для всех примитивных типов.

Sr.No.Метод и описание
1

public static int binarySearch (Object [] a, Object key)

Ищет в указанном массиве Object (Byte, Int, double и т. Д.) Указанное значение, используя алгоритм двоичного поиска. Перед выполнением этого вызова массив необходимо отсортировать. Возвращает индекс ключа поиска, если он содержится в списке; в противном случае возвращается (- (точка вставки + 1)).

2

public static boolean равно (long [] a, long [] a2)

Возвращает истину, если два указанных массива длинных значений равны друг другу. Два массива считаются равными, если оба массива содержат одинаковое количество элементов и все соответствующие пары элементов в двух массивах равны. Это возвращает истину, если два массива равны. Тот же метод может использоваться для всех других примитивных типов данных (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 и т. Д.)

Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки