add — позволяет добавлять элементы в конец списка (правильнее говорить списка, потому что list с английского значит список), а также добавлять элемент в нужную позицию, сдвигая при этом остальные (!); addAll — работает также как add только уже добавляет несколько элементов; contains — позволяет проверить присутствие элемента в списке; get — получить элемент по индексу; indexOf — узнать индекс элемента в списке; remove — удалить элемент в списке по индексу; set — заменить\установить элемент в списке по индексу; toArray — вернуть обычный массив. Сами видите сколько полезного здесь есть (и сколько отсутствует у обычного массива)
Программирование — это процесс написания команд, которые потом будет выполнять компьютер. Очень важно понимать, что компьютер не умеет думать. Все, что компьютер делает: он исполняет команды.
Инкапсуляция — это заключение атрибутов и методов объекта в сам объект, таким образом атрибуты и методы имеют контекст и не существуют сами по себе.