Алгоритмы и структуры данных - одномерные массивы в Java

Самая распространенная структура данных - массив - поддерживается в большинстве языков программирования. Вследствие своей популярности и простоты массив является хорошей отправной точкой для знакомства со структурами данных и изучения их роли в ООП. Такие разновидности массивов как - упорядоченный и неупорядоченный массив мы рассмотрим немного позднее в рамках данного цикла лекций, а сегодня мы познакомимся с массивами в языке программирования Java.

Если вы хотите ознакомиться с материалом в видео формате, вы можете найти запись в лектории или просто перейти по ссылке. Также вы сможете получить методичку и перезентацию на данную тему под видео - лекцией.

Массив - это группа однотипных переменных, для обращения к которым используется общее имя. В Java допускается создание массивов любого типа и разной размерности. Доступ к конкретному элементу массива осуществляется по его индексу.

Типы данных в Java делятся на две категории: примитивные типы и объекты. Вомногих языках программирования массивы считаются примитивными типами, но в Java они относятся к объектам.

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

Одномерные массивы представляют собой список однотипных переменных. Поскольку в Java массивы относятся к объектным типам, соответственно для создания массива необходимо использовать оператор new:

int[] arr;
arr = new int[100];

где int, обозначает тип каждого из элементов заданного массива. В первой строке, несмотря на то что arr объявляется как массив, о чем говорит оператор “[]”, на самом деле никакого массива пока еще не существует. Чтобы связать имя arr с физическим существующим массивом целочисленных значений, необходимо зарезервировать область памяти с помощью оператора new, что мы и сделали во второй строке.

Существует также альтернативный способ объявления массива:

int arr[];
arr = new int[100];

В этом случае оператор “[]” ставится после наименования переменной. Этот способ равнозначен предыдущему

Поскольку массив является объектом, его имя содержит ссылку на массив. Сам массив хранится где -то в памяти, а имя “arr” содержит только адрес блока данных.

Когда мы зарезервировали область памяти для массива при помощи оператора new, мы указали размерность массива, то есть 100. Иначе говоря первой строкой мы лишь создали пространство для ссылки на массив, а второй строкой объявили размерность массива, создали область памяти и сохранили ссылку на эту область памяти в переменную “arr”.

Элементы массива, для которых память была выделена оператором new, будут автоматически инициализированы:

  • Для числовых типов - нулевыми значениями
  • Для логических типов - логическим значением false
  • Для ссылочных типов - пустыми значениями null

Итого, процесс создания массива происходит в два этапа. Во первых, нужно объявить переменную нужного типа массива. Во вторых, с помощью оператора new необходимо зарезервировать память для хранения массива и присвоить ее переменной массива.

Как только будет создан массив и зарезервирована память для него, к конкретному элементу массива можно обращаться, указывая его индекс в квадратных скобках.

System.out.println(arr[1]);

Индексы массива начинаются с нуля. Если индекс меньше 0 или больше размера массива, генерируется исключение выхода за границы массива.

Массивы можно инициализировать при их объявлении. Инициализатор массива - это список выражений, разделяемый запятыми и заключенный в фигурные скобки. Запятые разделяют значения элементов массива.

int[] arr = {2,4,6};

В таком случае потребность в операторе new отпадает. Размер массива определяется по количеству значений в этом списке.

Заключение

Массив является самой простой и распространенной структурой данных с которой, как правило, следует начинать изучение алгоритмов.

Информация

Автор конспекта


Дата создания: 03.01.2019
Категория: Алгоритмы и структуры данных