java tutorial - Массивы - учебник java - java programming - учиться java - java basics - java for beginners



Массивы в Java — это структура данных, которая хранит упорядоченные коллекции фиксированного размера элементов нужного типа.

  • В Java массив используется для хранения коллекции данных, но часто бывает полезно думать о массиве как о совокупности переменных одного типа.
  • Вместо объявления отдельных переменных, таких как number0, number1, ..., и number99, Вы объявляете одну переменную массива, например, numbers и используете numbers[0], numbers[1], ..., и numbers[99], для отображения отдельных переменных.
  • Данная статья ознакомит Вас как в Java объявить массив переменных, создать и обрабатывать массив с помощью индексированных переменных.
java - джава - учиться java - учебник java -  java tutorial- примеры java - java   arrays

Объявление массива

Чтобы использовать массив в программе, необходимо объявить переменную для ссылки на массив, и Вы должны указать тип массива, который может ссылаться на переменную. Синтаксис для объявления переменной массива:

dataType[] arrayRefVar;   // Предпочтительный способ.

или

dataType arrayRefVar[];  //  Работает, но не является предпочтительным способом.
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Примечание: стиль dataType[] arrayRefVar является предпочтительным. Стиль dataType arrayRefVar[] происходит из языка C/C++ и был принят в Java для C/C++-программистов.

Одномерные массивы

java - джава - учиться java - учебник java -  java tutorial- примеры java - java Одномерные массивы

Пример

Следующие фрагменты кода примеры использования данного синтаксиса:

double[] myList;         // Предпочтительный способ.

или

double myList[];         //  Работает, но не является предпочтительным способом.
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

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

В Java создать массив можно с помощью оператора new с помощью следующего синтаксиса:

arrayRefVar = new dataType[arraySize];
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Вышеуказанное объявление делает две вещи:

  • Создает массив, используя new dataType[arraySize];
  • Ссылка на недавно созданный массив присваивается переменной arrayRefVar.

Объявление переменной, создание и присвоение переменной ссылки массива могут быть объединены в одном операторе, как показано ниже:

dataType[] arrayRefVar = new dataType[arraySize];
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

В качестве альтернативы массивы в Java можно создавать следующим образом:

dataType[] arrayRefVar = {значение0, значение1, ..., значениеk};
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • Элементы массива доступны через индекс. Отсчет индексов ведется от 0; то есть они начинают от 0 и до arrayRefVar.length-1.

Пример

  • Следующий оператор объявляет массив переменных myList, создает массив из 10 элементов типа double и присваивает ссылку myList:
double[] myList = new double[10];
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • Изображение отображает массив myList. Здесь myList имеет десять значений double и индексы от 0 до 9.
 java-array

Learn java - java tutorial - java-array - java examples - java programs

Работа с массивами

При работе с элементами массива, часто используют цикл for или цикл foreach потому, что все элементы имеют одинаковый тип и известный размер.

Пример

Полный пример, показывающий, как создавать, инициализировать и обработать массив:

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);
      // Нахождение среди элементов массива наибольшего
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Наибольший элемент: " + max);
   }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Получим следующий результат:

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 = {1.9, 2.9, 3.4, 3.5};

      // Вывести массив на экран
      for (double element: myList) {
         System.out.println(element);
      }
   }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Получим следующий результат:

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] + " ");
  }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • Его можно вызвать путем передачи массива. Например, следующий оператор вызывает метод printArray для отображения 3, 1, 2, 6, 4 и 2:
printArray(new int[]{3, 1, 2, 6, 4, 2});
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Возврат массива из метода

  • Метод может также возвращать массив. Например, метод, показанный ниже, возвращает массив, который является реверсирование другого массива:
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 tutorials - команда

Методы для массива

Класс 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: длина массива

  • Узнать размер массива в Java можно с помощью метода length(). Данный метод позволяет определить размерность массива.
public class Test {

   public static void main(String[] args) {
      // Массив myArray1 из 5 элементов типа double.
      double[] myArray1 = {2.4, 3.8, 11.2, 9.8, 1.18}; 
      // Вывод длины массива myArray1 на экран.
      System.out.println("Количество элементов в массиве myArray1: " + myArray1.length);
      
      // Массив myArray2 из 4 элементов типа String.
      String[] myArray2 = {"Java", "массив", "пример", "wikitechy.com"}; 
      // Вывод размера массива myArray2 на экран.
      System.out.println("Количество элементов в массиве myArray2: " + myArray2.length);
   }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Получим следующий результат:

Количество элементов в массиве myArray1: 5
Количество элементов в массиве myArray2: 4

Пример 2: максимальный элемент массива

  • Простые способы для того, чтобы найти максимальное число в массиве в Java. Сперва воспользуемся методом Math.max().
public class Test {

   public static void main(String[] args) {
      // Нахождение максимального элемента в массиве myArray из 4 элементов типа double.
      double[] myArray = {11, 5.8, 11.1, 10.9};
        
      // Переменной 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);
   }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Получим следующий результат:

Максимальный элемент в массиве myArray: 11.1

Пример 3: минимальный элемент массива

  • Написанный ниже код практически ничем не отличается от кода, описанного в примере 3. Он в точности наоборот, просто здесь мы ищем минимальное число в массиве в Java. В первом способе воспользуемся методом Math.min().
public class Test {

   public static void main(String[] args) {
      // Нахождение минимального элемента в массиве myArray из 4 элементов типа double.
      double[] myArray = {11, 5.8, 11.1, 10.9};
        
      // Переменной 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);
   }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

Получим следующий результат:

Минимальный элемент в массиве myArray: 5.8

Определение размера массива

  • Размер массива не всегда очевиден, поэтому для того, чтобы его узнать следует использовать свойство length, которое возвращает длину массива.
  •   myColor.length;   
    
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • Данный код поможет нам узнать, что длина массива myColor равна 3.
  • Пример: Задано 4 числа, необходимо найти минимальное
  • int[] numbers = {-9, 6, 0, -59};
    int min = numbers[0];
    for(int i = 0; i < numbers.length; i++){
        if(min>numbers[i])
            min = numbers[i];
    }
    
    System.out.println(min);
    
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

    Related Searches to Массивы