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

Массивы в Java: объявление, создание, обработка и класс Arrays

Массив — фиксированная последовательность элементов одного типа. Удобнее, чем множество отдельных переменных: numbers[0], numbers[1] вместо number0, number1.

Объявление переменной массива

dataType[] arrayRefVar;  // предпочтительный стиль
dataType arrayRefVar[];  // стиль C/C++, работает, но не рекомендуется

Пример

double[] myList;  // preferred
double myList[];  // works

Создание массивов

arrayRefVar = new dataType[arraySize];

Действует: создаёт массив и присваивает ссылку переменной. Можно объединить:

dataType[] arrayRefVar = new dataType[arraySize];

Или с инициализатором:

dataType[] arrayRefVar = {value0, value1, ..., valueK};

Индексы от 0 до length-1.

Пример

double[] myList = new double[10];

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

Часто используют for или for-each (все элементы одного типа, размер известен).

Полный пример

public class TestArray {
  public static void main(String[] args) {
    double[] myList = {1.9, 2.9, 3.4, 3.5};
    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: " + total); // 11.7
    double max = myList[0];
    for (int i = 1; i < myList.length; i++) if (myList[i] > max) max = myList[i];
    System.out.println("Max: " + max); // 3.5
  }
}

Цикл for-each (enhanced for)

JDK 1.5: последовательный обход без индекса.

for (double element : myList) System.out.println(element);

Передача массивов в методы

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) System.out.print(array[i] + " ");
}
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

Статические методы для сортировки, поиска, сравнения, заполнения. Перегружены для всех примитивов.

№Метод и описание
1binarySearch(Object[] a, Object key) — бинарный поиск (массив должен быть отсортирован).
2equals(long[] a, long[] a2) — равенство массивов (длина + поэлементно). Для всех примитивов.
3fill(int[] a, int val) — заполнение значением. Для всех примитивов.
4sort(Object[] a) — сортировка по естественному порядку. Для всех примитивов.

java

  1. Массивы в C#: объявление, инициализация и операции
  2. Освоение операторов Java: типы, синтаксис и практические примеры
  3. Техники копирования массивов в Java: подробное руководство
  4. Интерфейсы в Java: концепции, реализация и лучшие практики
  5. Try-with-resources в Java: автоматическое управление ресурсами
  6. Аннотации в Java: типы, размещение и практические примеры
  7. Массивы в C++: объявление, инициализация и работа с указателями
  8. Динамическое выделение массивов в C++: практическое руководство с примерами кода
  9. Учебник по массивам в Java: объявление, создание и инициализация с примерами кода
  10. Создание массива объектов в Java: пошаговое руководство