Тимур Машнин

Объектно-ориентированное программирование на Java. Платформа Java SE


Скачать книгу

метод создаст копию массива с количеством элементов, которое указанно вторым аргументом.

      В данном случае, мы создаем полную копию массива numbers.

      После того, как копия сделана, мы сортируем ее, вызывая метод Arrays.sort.

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

      Если длина четная, мы возвращаем среднее значение двух центральных элементов.

      В этом случае, мы делим на 2.0, чтобы получить число с плавающей запятой.

      Если длина нечетная, мы просто возвращаем центральный элемент отсортированного массива.

      В заключение, давайте коротко обсудим массивы объектов.

      Как упоминалось ранее, когда массив создан, его элементы инициализируются нулем 0 такого же типа, что и базовый тип массива.

      Для массивов объектных типов, значение при инициализации – это специальное значение null.

      Значение null просто означает, что там не пока объекта.

      Например, если мы создадим массив coordinate, это массив трех элементов типа Point.

      Все три элемента будут проинициализированы значением null.

      Перед тем, как пользоваться этим массивом, нам нужно заменить все значения null реальными объектами Point.

      Т.о. массивы объектного типа требуют инициализации в два этапа.

      На первом тапе, вы создаете объект массива, а на втором этапе, вы создаете объект базового типа для каждого элемента массива.

      В образце кода, первым шагом является создание массива coordinate.

      Затем, мы выполняем второй шаг с помощью цикла, в котором создается реальный объект класса Point для элемента 0, 1 и 2.

      Массивы – полезный инструмент.

      Однако они имеют некоторые ограничения.

      Когда вы сначала создаете массив, вам нужно выбрать его размер.

      И как только вы выберете размер массива, его нельзя изменить.

      Это усложняет ситуацию, если у вас есть динамический набор информации, входящий и выходящий из вашей структуры данных.

      Что, если вы не знаете, сколько всего будет элементов в конце концов?

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

      Это означает, что вы должны сдвинуть все остальные элементы дальше по массиву.

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

      Такая структура данных в Java есть и это список.

      Список представляет собой упорядоченную последовательность элементов, как и массив.

      При этом, он добавляет функциональность, позволяющую ему расти и уменьшаться и вставлять элемент в середину без необходимости делать какие-либо изменения.

      Также вы можете удалить элемент внутри списка.

      Первый тип списка, так как в Java существует много типов списков, это ArrayList.

      ArrayList хранит информацию