Массивы в Java. Часть 7.
Что же будет, если обратиться к элементу, которого нет в массиве? Иными словами, если у нас есть массив размером 2 элемента (элементы под индексами 0 и 1) и мы с вами хотим вывести в консоль элемент, который находится в ячейке по индексу 3.
Будет Java исключение, говорящее нам о том, что запрашиваемый нами индекс находится за пределами нашего массива.
👉 JavaStart. Подписаться
Что же будет, если обратиться к элементу, которого нет в массиве? Иными словами, если у нас есть массив размером 2 элемента (элементы под индексами 0 и 1) и мы с вами хотим вывести в консоль элемент, который находится в ячейке по индексу 3.
Будет Java исключение, говорящее нам о том, что запрашиваемый нами индекс находится за пределами нашего массива.
👉 JavaStart. Подписаться
👍8🔥2❤1💘1
Массивы в 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 можно задать массив массивов… массив массивов массивов и так далее. Правда, трёхмерные и более массивы используются ооочень редко. Тем не менее, с помощью трёхмерного массива можно запрограммировать, например, кубик Рубика.
👉 JavaStart. Подписаться
Одномерные и многомерные массивы.
А что, если мы захотим создать не массив чисел, массив строк или массив каких-то объектов, а массив массивов? 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 можно задать массив массивов… массив массивов массивов и так далее. Правда, трёхмерные и более массивы используются ооочень редко. Тем не менее, с помощью трёхмерного массива можно запрограммировать, например, кубик Рубика.
👉 JavaStart. Подписаться
👍10🔥4❤2👌2👨💻1
Занимаетесь учебой по воскресеньям? 🤓
Anonymous Poll
54%
Да 🧑💻
13%
Конечно! 🦈
16%
Нет, мой мозг отдыхает 🫠
12%
Нет, провожу время с семьей 👪
4%
Пишу код как не в себе! 👹
👍3❤1🔥1👨💻1🆒1
Массивы в Java. Часть 9.
Полезные методы для работы с массивами.
Для работы с массивами в Java есть класс java.util.Arrays (arrays на английском и означает “массивы”). В целом с массивами чаще всего проделывают следующие операции:
– заполнение элементами (инициализация);
– извлечение элемента (по номеру);
– сортировка;
– поиск.
Поиск и сортировка массивов — тема отдельная. С одной стороны очень полезно потренироваться и написать несколько алгоритмов поиска и сортировки самостоятельно. С другой стороны, все лучшие способы уже написаны и включены в библиотеки Java, и ими можно законно пользоваться.
Вот три полезных метода этого класса:
Сортировка массива
Метод void sort(int[] myArray, int fromIndex, int toIndex)
– сортирует массив целых чисел или его подмассив по возрастанию.
Поиск в массиве нужного элемента
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
– этот метод ищет элемент key в уже отсортированном массиве myArray или подмассиве, начиная с fromIndex и до toIndex. Если элемент найден, метод возвращает его индекс, если нет - (-fromIndex)-1.
Преобразование массива к строке
Метод String toString(int[] myArray)
– преобразовывает массив к строке. Дело в том, что в Java массивы не переопределяют toString(). Это значит, что если вы попытаетесь вывести целый массив (а не по элементам) на экран непосредственно
(System.out.println(myArray)), вы получите имя класса и шестнадцатеричный хэш-код массива (это определено Object.toString()).
Если вы — новичок, вам, возможно, непонятно пояснение к методу toString(). На первом этапе это и не нужно, зато с помощью этого метода упрощается вывод массива. Java позволяет легко выводить массив на экран без использования цикла.
Давайте создадим массив целых чисел, выведем его на экран с помощью toString(), отсортируем с помощью метода sort и найдём в нём какое-то число (4-я картинка).
👉 JavaStart. Подписаться
Полезные методы для работы с массивами.
Для работы с массивами в Java есть класс java.util.Arrays (arrays на английском и означает “массивы”). В целом с массивами чаще всего проделывают следующие операции:
– заполнение элементами (инициализация);
– извлечение элемента (по номеру);
– сортировка;
– поиск.
Поиск и сортировка массивов — тема отдельная. С одной стороны очень полезно потренироваться и написать несколько алгоритмов поиска и сортировки самостоятельно. С другой стороны, все лучшие способы уже написаны и включены в библиотеки Java, и ими можно законно пользоваться.
Вот три полезных метода этого класса:
Сортировка массива
Метод void sort(int[] myArray, int fromIndex, int toIndex)
– сортирует массив целых чисел или его подмассив по возрастанию.
Поиск в массиве нужного элемента
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
– этот метод ищет элемент key в уже отсортированном массиве myArray или подмассиве, начиная с fromIndex и до toIndex. Если элемент найден, метод возвращает его индекс, если нет - (-fromIndex)-1.
Преобразование массива к строке
Метод String toString(int[] myArray)
– преобразовывает массив к строке. Дело в том, что в Java массивы не переопределяют toString(). Это значит, что если вы попытаетесь вывести целый массив (а не по элементам) на экран непосредственно
(System.out.println(myArray)), вы получите имя класса и шестнадцатеричный хэш-код массива (это определено Object.toString()).
Если вы — новичок, вам, возможно, непонятно пояснение к методу toString(). На первом этапе это и не нужно, зато с помощью этого метода упрощается вывод массива. Java позволяет легко выводить массив на экран без использования цикла.
Давайте создадим массив целых чисел, выведем его на экран с помощью toString(), отсортируем с помощью метода sort и найдём в нём какое-то число (4-я картинка).
👉 JavaStart. Подписаться
👍12❤2🔥2✍1👨💻1
Массивы в Java. Часть 10.
Главное о массивах.
Главные характеристики массива:
– тип помещённых в него данных, имя и длина.
Последнее решается при инициализации (выделении памяти под массив), первые два параметра определяются при объявлении массива.
– размер массива (количество ячеек) нужно определять в int.
– изменить длину массива после его создания нельзя.
– доступ к элементу массива можно получить по его индексу.
– в массивах, как и везде в Java, элементы нумеруются с нуля.
– после процедуры создания массива он наполнен значениями по умолчанию.
👉 JavaStart. Подписаться
Главное о массивах.
Главные характеристики массива:
– тип помещённых в него данных, имя и длина.
Последнее решается при инициализации (выделении памяти под массив), первые два параметра определяются при объявлении массива.
– размер массива (количество ячеек) нужно определять в int.
– изменить длину массива после его создания нельзя.
– доступ к элементу массива можно получить по его индексу.
– в массивах, как и везде в Java, элементы нумеруются с нуля.
– после процедуры создания массива он наполнен значениями по умолчанию.
👉 JavaStart. Подписаться
👍5✍1🔥1👌1🆒1
Коллекции в Java. Часть 1.
Начнем изучать обширную тему, которая нужна как для коммерческой разработки, так и для каждого собеседования на Java разработчика или стажера.
Что такое коллекции?
Если объяснить простыми словами, то коллекции в Java — это общее название для нескольких похожих друг на друга структур данных. Это сложные типы, в которых может храниться большое количество значений.
Более простой пример структур — массивы: в них могут хранится сколько-то значений.
Но в отличие от массивов коллекции динамические, то есть у них не фиксированная длина. Их размер может меняться – можно добавлять и удалять элементы с помощью методов.
Например, возьмем список чисел: [1, 1, 2, 3, 5]. Весь список — структура данных, в которой хранится 5 элементов. Если к нему можно добавить шестой элемент, допустим 8, — это динамическая структура данных, и она вполне может относиться к коллекциям.
На месте чисел могут быть строки, объекты и другие типы данных. Главное — элементы должны быть однородными, одинакового типа.
Для нужны коллекции?
Структуры данных нужны для хранения и получения информации. Но если они статические, в определенный момент пользоваться ими становится неудобно: фиксированное количество элементов не даст расширить структуру. А создавать сразу большой массив неэффективно с точки зрения памяти.
Поэтому существуют динамические структуры. Так как они меняют размер, в них можно хранить практически любое количество информации и не опасаться, что они займут больше места, чем необходимо. Это делает программирование более удобным и ускоряет работу с данными.
Разные варианты коллекций нужны, потому что для различных задач требуются свои особенности хранения и обработки данных. Где-то они должны быть структурированными, а где-то — допустим, уникальными. В одной задаче важно быстро получать элементы, в другой — быстро добавлять. Поэтому реализации разные, и для каждой задачи эффективнее своя.
Это было введение, углубимся в Collection в следующих постах.
👉 JavaStart. Подписаться
Начнем изучать обширную тему, которая нужна как для коммерческой разработки, так и для каждого собеседования на Java разработчика или стажера.
Что такое коллекции?
Если объяснить простыми словами, то коллекции в Java — это общее название для нескольких похожих друг на друга структур данных. Это сложные типы, в которых может храниться большое количество значений.
Более простой пример структур — массивы: в них могут хранится сколько-то значений.
Но в отличие от массивов коллекции динамические, то есть у них не фиксированная длина. Их размер может меняться – можно добавлять и удалять элементы с помощью методов.
Например, возьмем список чисел: [1, 1, 2, 3, 5]. Весь список — структура данных, в которой хранится 5 элементов. Если к нему можно добавить шестой элемент, допустим 8, — это динамическая структура данных, и она вполне может относиться к коллекциям.
На месте чисел могут быть строки, объекты и другие типы данных. Главное — элементы должны быть однородными, одинакового типа.
Для нужны коллекции?
Структуры данных нужны для хранения и получения информации. Но если они статические, в определенный момент пользоваться ими становится неудобно: фиксированное количество элементов не даст расширить структуру. А создавать сразу большой массив неэффективно с точки зрения памяти.
Поэтому существуют динамические структуры. Так как они меняют размер, в них можно хранить практически любое количество информации и не опасаться, что они займут больше места, чем необходимо. Это делает программирование более удобным и ускоряет работу с данными.
Разные варианты коллекций нужны, потому что для различных задач требуются свои особенности хранения и обработки данных. Где-то они должны быть структурированными, а где-то — допустим, уникальными. В одной задаче важно быстро получать элементы, в другой — быстро добавлять. Поэтому реализации разные, и для каждой задачи эффективнее своя.
Это было введение, углубимся в Collection в следующих постах.
👉 JavaStart. Подписаться
👍20🔥3❤2✍1👌1
Коллекции в Java. Часть 2.
Что такое Java Collections Framework?
Java Collections Framework — это часть JDK, или Java Development Kit, в которой описаны и хранятся коллекции, их устройство и иерархия.
Несмотря на название «фреймворк», это не отдельный инструмент, а одна из важных частей языка Java, точнее, набора инструментов для него. Там содержатся интерфейсы, которые описывают коллекции, и практические реализации.
Интерфейс — это как бы «схема», теоретическое описание поведения объектов. В нем содержатся методы, которые есть у всех его реализаций. А реализация — потомок интерфейса, практическая структура: такой объект можно создать и пользоваться им.
Интерфейс по определению похож на класс, но отличается от него тем, что может хранить только поведение — методы. У него, в отличие от класса, не может быть атрибутов — внутренних переменных, хранящих состояние.
У интерфейсов есть иерархия — более специфические наследуются от более общих. Это значит, что у них есть методы «предка», но есть и свои, специфичные особенности хранения и методы. А реализации — конечные наследники интерфейсов.
Получается наглядная иерархическая схема, где одно вытекает из другого.
Давайте теперь на картинке рассмотрим разные виды интерфейсов и их практические реализации. Попробуйте догадаться, что из представленного является интерфейсами, а что реализациями? А позже мы разберем это более подробно и я все поясню.
👉 JavaStart. Подписаться
Что такое Java Collections Framework?
Java Collections Framework — это часть JDK, или Java Development Kit, в которой описаны и хранятся коллекции, их устройство и иерархия.
Несмотря на название «фреймворк», это не отдельный инструмент, а одна из важных частей языка Java, точнее, набора инструментов для него. Там содержатся интерфейсы, которые описывают коллекции, и практические реализации.
Интерфейс — это как бы «схема», теоретическое описание поведения объектов. В нем содержатся методы, которые есть у всех его реализаций. А реализация — потомок интерфейса, практическая структура: такой объект можно создать и пользоваться им.
Интерфейс по определению похож на класс, но отличается от него тем, что может хранить только поведение — методы. У него, в отличие от класса, не может быть атрибутов — внутренних переменных, хранящих состояние.
У интерфейсов есть иерархия — более специфические наследуются от более общих. Это значит, что у них есть методы «предка», но есть и свои, специфичные особенности хранения и методы. А реализации — конечные наследники интерфейсов.
Получается наглядная иерархическая схема, где одно вытекает из другого.
Давайте теперь на картинке рассмотрим разные виды интерфейсов и их практические реализации. Попробуйте догадаться, что из представленного является интерфейсами, а что реализациями? А позже мы разберем это более подробно и я все поясню.
👉 JavaStart. Подписаться
👍11❤2🔥2👌1🫡1