JavaStart
915 subscribers
903 photos
28 videos
613 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Массивы в Java. Часть 7.

Что же будет, если обратиться к элементу, которого нет в массиве? Иными словами, если у нас есть массив размером 2 элемента (элементы под индексами 0 и 1) и мы с вами хотим вывести в консоль элемент, который находится в ячейке по индексу 3.

Будет очень распространенное Java исключение - ArrayIndexOutOfBoundsException, говорящее нам о том, что запрашиваемый нами индекс находится за пределами нашего массива.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👨‍💻2
Массивы в Java. Часть 8.

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

А что, если мы захотим создать не массив чисел, массив строк или массив каких-то объектов, а массив массивов? Java позволяет это сделать.

Такое вряд-ли вам придется когда-нибудь использовать на работе в большом коммерческом проекте, но знать об этом нужно!
Какой-нибудь дотошный интервьюер, который любит олимпиадное программирование, может спросить на собеседовании, что это и как создаётся 😄

Уже привычный нам массив
int[] myArray = new int[8]
— так называемый одномерный массив. А массив массивов называется двумерным. Он похож на таблицу, у которой есть номер строки и номер столбца. Или, если вы учили начала линейной алгебры, — на матрицу.

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

Многомерный массив объявляется и создается следующим образом:

int[][] twoDimentionalArray = new int [8][8];

В этом массиве ровно 64 элемента:

twoDimentionalArray[0][0],
twoDimentionalArray[0][1],
twoDimentionalArray[1][0],
twoDimentionalArray[1][1] и так далее вплоть до twoDimentionalArray[7][7]. 

Так что если мы с его помощью представим шахматную доску, то клетку А1 будет представлять twoDimentionalArray[0][0], а E2 — twoDimentionalArray[4][1].

Где два, там и три. В Java можно задать массив массивовмассив массивов массивов и так далее. Правда, трёхмерные и более массивы используются ооочень редко. Тем не менее, с помощью трёхмерного массива можно запрограммировать, например, кубик Рубика.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🤓2👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍2🔥1
Массивы в Java. Часть 9.

Полезные методы для работы с массивами.

Для работы с массивами в Java есть класс java.util.Arrays (arrays на английском и означает “массивы”). В целом с массивами чаще всего проделывают следующие операции:

– заполнение элементами (инициализация);

– извлечение элемента (по номеру);

– сортировка;

– поиск.

Поиск и сортировка массивов — тема отдельная. С одной стороны очень полезно потренироваться и написать несколько алгоритмов поиска и сортировки самостоятельно. С другой стороны, все лучшие способы уже написаны и включены в библиотеки Java, и ими можно законно пользоваться.

Вот три полезных метода этого класса:

1) Сортировка массива

Метод void sort(int[] myArray, int fromIndex, int toIndex)

– сортирует массив целых чисел или его подмассив по возрастанию.

2) Поиск в массиве нужного элемента

int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)

– этот метод ищет элемент key в уже отсортированном массиве myArray или подмассиве, начиная с fromIndex и до toIndex. Если элемент найден, метод возвращает его индекс, если нет - (-fromIndex)-1.

3) Преобразование массива к строке

Метод String toString(int[] myArray)

– преобразовывает массив к строке. Дело в том, что в Java массивы не переопределяют toString(). Это значит, что если вы попытаетесь вывести целый массив (а не по элементам) на экран непосредственно
(System.out.println(myArray)), вы получите имя класса и шестнадцатеричный хэш-код массива (это определено Object.toString()).

Если вы — новичок, вам, возможно, непонятно пояснение к методу toString(). На первом этапе это и не нужно, зато с помощью этого метода упрощается вывод массива. Java позволяет легко выводить массив на экран без использования цикла.

Давайте создадим массив целых чисел, выведем его на экран с помощью toString(), отсортируем с помощью метода sort и найдём в нём какое-то число (4-я картинка).

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52💯2👍1
Массивы в Java. Часть 10.

Главное о массивах.

Главные характеристики массива:

– тип помещенных в него данных, имя и длина.

Последнее определяется при инициализации (выделении памяти под массив), первые два параметра определяются при объявлении массива.

– размер массива (количество ячеек) нужно определять в int.

– изменить длину массива после его создания нельзя.

– доступ к элементу массива можно получить по его индексу.

– в массивах, как и везде в Java, элементы нумеруются с нуля.

– после процедуры создания массива он наполнен значениями по умолчанию.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7💯4🔥2🤓1
Коллекции в Java. Часть 1.

Начнем изучать обширную тему, которая нужна как для коммерческой разработки, так и для каждого собеседования на любой уровень.

Что такое коллекции?

Если объяснить простыми словами, то коллекции в Java — это общее название для нескольких похожих друг на друга структур данных. Это сложные типы, в которых может храниться большое количество значений.

Более простой пример структур — массивы: в них могут хранится сколько-то значений.

Но в отличие от массивов коллекции динамические – у них не фиксированная длина. Их размер может меняться – можно добавлять и удалять элементы с помощью методов.

Например, возьмем список чисел: [1, 1, 2, 3, 5]. Весь список — структура данных, в которой хранится 5 элементов. Если к нему можно добавить шестой элемент, допустим 8, — это динамическая структура данных, и она вполне может относиться к коллекциям.

На месте чисел могут быть строки, объекты и другие типы данных. Главное — элементы должны быть однородными, одинакового типа.

Для чего нужны коллекции?

Структуры данных нужны для хранения и получения информации. Но если они статические, в определенный момент пользоваться ими становится неудобно: фиксированное количество элементов не даст расширить структуру. А создавать сразу большой массив неэффективно с точки зрения памяти.

Поэтому существуют динамические структуры. Так как они меняют размер, в них можно хранить практически любое количество информации и не опасаться, что они займут больше места, чем необходимо. Это делает программирование более удобным и ускоряет работу с данными.
Разные варианты коллекций нужны, потому что для различных задач требуются свои особенности хранения и обработки данных. Где-то они должны быть структурированными, а где-то — допустим, уникальными. В одной задаче важно быстро получать элементы, в другой — быстро добавлять. Поэтому реализации разные, и для каждой задачи эффективнее своя.

Это было введение, углубимся в Collection в следующих постах.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍432👨‍💻1