с огромным набором методов, чтобы сделать жизнь проще.
Вы не только можете добавить элемент в самом конце, но вы также можете добавить элемент по определенному индексу.
Вы можете очистить массив, вы можете выполнить поиск по массиву.
Например, вы ищете конкретное слово, но вы не знаете, в каком индексе оно находится.
Это метод indexOf.
Вы также можете удалить и установить определенный индекс.
По сути, ArrayList это массив внутри класса, который имеет большой размер 2^32—1, так что вы не сможете использовать всю длину массива.
ArrayList имеет переменную размера, которую он всегда поддерживает.
Вы добавляете элемент в массив и удаляете, при этом изменяется переменная размера.
Абстракция
Абстракция в объектно-ориентированном программировании помогает скрыть сложные детали объекта.
Абстракция является одним из ключевых принципов OOAD (объектно-ориентированный анализ и дизайн).
И абстракция достигается композицией (разделением) и агрегацией (объединением).
Например, автомобиль оснащен двигателем, колесами и многими другими деталями.
И мы можем записать все свойства автомобиля, двигателя и колеса в одном классе.
В этом примере атрибуты колеса и двигателя добавляются к типу автомобиля.
При программировании это не вызовет каких-либо проблем.
Но когда дело доходит до поддержки приложения, это становится более сложным.
Теперь, используя абстракцию, мы можем отделить вещи, которые можно сгруппировать в другом типе.
Часто изменяющиеся свойства и методы можно сгруппировать в отдельный тип, чтобы основной тип не нуждался в изменении.
Это добавляет силы принципу OOAD – «Код должен быть открыт для расширения, но закрыт для модификации».
И это упрощает представление модели.
Применяя абстракцию с композицией (разделением) и агрегацией (объединением), приведенный пример может быть изменен следующим образом.
Вы можете видеть, что атрибуты и методы, связанные с двигателем и колесом, перемещаются в соответствующие классы.
Двигатель и колесо относятся к типу автомобиля.
Когда создается экземпляр автомобиля, оба – двигатель и колесо будут доступны для автомобиля, а когда будут изменения этих типов (двигателя и колеса), изменения будут ограничиваться только этими классами и не будут влиять на класс Car.
Абстракция известна как отношение Has-A, например, у студента есть имя, у ученика есть ручка, у машины есть двигатель, то есть у каждого есть отношение Has-A.
И используя это отношение, мы разделяем на части, а затем одна часть может использовать другие части в виде объектов.
Абстракция является одним из основополагающих принципов языков объектно-ориентированного программирования.
И абстракция помогает снизить сложность, а также