#8 – Массивы данных. Одномерные и многомерные массивы

#8 – Массивы данных. Одномерные и многомерные массивы

Массивы позволяют хранить большой объем информации в одном месте. В языке Джава существуют одномерные и многомерные массивы данных. В ходе урока мы научимся создавать и взаимодействовать с различными массивами.

Видеоурок

Массивы позволяют хранить большой объем информации в одном месте. В языке Java можно найти несколько основных типов массивов. 


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

Чтобы создать массив необходимо указать тип данных, поставить квадратные скобки и назвать массив. Это очень схоже с созданием обычных переменных, но здесь после типа данных идут еще квадратные скобки.


В массивах отсчет начинается с 0, поэтому первый элемент по индексу будет равен 0, второй - 1 и так далее.


Примеры создания массива:

char[] stroka; // Создание пустого массива
int numbers[]; // Не будет считаться ошибкой

int[] nums = new int[4];
nums[0] = 1; // Добавление элементов в массив из 4 элементов

int[] nums2 = new int[] { 1, 2, 3, 5 }; // Присвоение всех значений сразу

Работать с элементами массива можно точно как с переменными. Мы можем их выводить или же устанавливать для них новые значения.


Для массивов существует несколько дополнительных методов, что позволяют проводить действия над массивом. Рассмотрим несколько из них: 

  • length - возвращает количество элементов в массиве. К примеру, создадим массив arr и укажем для него 3 элемента. При вызове функции будет выдано число 3: arr.length;
  • Arrays.copyOf - копирует один массив в другой. Пример:
int[] arr = new int[] { 1, 2, 3, 5 };
int[] some_new = Arrays.copyOf(arr, arr.length);
  • Arrays.sort - сортировка массива. Пример:
int[] numbers = new int[] { 1, 7, 3, 5, 2, 6, 4 };
 
Arrays.sort(numbers);


Многомерный массив

Многомерный массив – массив, в котором каждый элемент является другим массивом. На практике очень редко используются массивы с более чем третим уровнем вложенности. То есть массивы, в которых все элементы являются другими массивами и в котором все элементы также другие массивы.


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


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

int[][] x = { { 0, 34, 2 }, { 3, 4, 5 } };

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

x[0][1] = 1; // Вместо 34 теперь будет 1

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

Наибольшее

Создайте массив, после чего найдите наибольший элемент массива

Посмотреть ответ

Решение:

int[] a = new int[] {-14, 23, 9, -4, 12, -1};
int max = 0; 
for (int i = 0; i < a.length; i++) { 
	if (a[i] > max) 
		max = a[i];
} 
System.out.println("Максимальный элемент: " + max);

Получить остальные домашние задания можно после подписки на проект

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Изучение таск-менеджера Gulp 4
5 уроков
Разработка Android программы. Создание чата
6 уроков
Уроки Java Андроид программирования
14 уроков
Изучение стека MEAN: MongoDB, Express, Angular и Node JS
10 уроков
Уроки React Native для начинающих / Разработка приложения с нуля
11 уроков
Изучение JavaScript для начинающих!
15 уроков
Комментарии (2)
Добавить комментарий

sponge 19 декабря 2022 в 18:51

а как вывести массив который вводит пользователь на экран?
Ответить

AndresCodeBreaker 24 августа 2022 в 16:31

int[] a = new int[] {-14, 23, 9, -4, 12, -1};
int max = 0;
for (int i = 0; i < a.length; i++) {
if (a[i] > max)
max = a[i];
}
System.out.println("Максимальный элемент: " + max);

Ваш код в домашнем задании не будет работать с массивами, все элементы которого отрицательны. Для верного нахождения максимума следует строчку

int max = 0;

заменить на:

int max = a[0];

и начинать проверять со второго элемента, либо же, чтобы не путаться лишний раз оставить все как есть :-)
Ответить