Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

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

<тд>

public static int binarySearch(Object[] a, ключ объекта)

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

<тд>

public static boolean equals(long[] a, long[] a2)

Возвращает true, если два указанных массива длинных значений равны друг другу. Два массива считаются равными, если оба массива содержат одинаковое количество элементов и все соответствующие пары элементов в двух массивах равны. Это возвращает true, если два массива равны. Тот же метод может использоваться всеми другими примитивными типами данных (Byte, short, Int и т. д.)

<тд>

public static void fill(int[] a, int val)

Присваивает указанное значение int каждому элементу указанного массива целых чисел. Тот же метод можно использовать для всех других примитивных типов данных (Byte, short, Int и т. д.)

<тд>

public static void sort(Object[] a)

Сортирует указанный массив объектов в порядке возрастания в соответствии с естественным порядком его элементов. Тот же метод можно использовать для всех других примитивных типов данных (Byte, short, Int и т. д.)

Сер.№ Метод и описание
1
2
3
4

java

  1. С# Массивы
  2. Операторы Java
  3. Массивы копирования Java
  4. Java-интерфейс
  5. Java-проба с ресурсами
  6. Java-аннотации
  7. Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
  8. C++ динамическое выделение массивов с примером
  9. Учебное пособие по массивам Java:объявление, создание, инициализация [пример]
  10. Как создать массив объектов в Java