add — позволяет добавлять элементы в конец списка (правильнее говорить списка, потому что list с английского значит список), а также добавлять элемент в нужную позицию, сдвигая при этом остальные (!); addAll — работает также как add только уже добавляет несколько элементов; contains — позволяет проверить присутствие элемента в списке; get — получить элемент по индексу; indexOf — узнать индекс элемента в списке; remove — удалить элемент в списке по индексу; set — заменить\установить элемент в списке по индексу; toArray — вернуть обычный массив. Сами видите сколько полезного здесь есть (и сколько отсутствует у обычного массива)
Программирование — это процесс написания команд, которые потом будет выполнять компьютер. Очень важно понимать, что компьютер не умеет думать. Все, что компьютер делает: он исполняет команды.
И вот как раз для того чтобы различать атрибуты и методы экземпляра класса, от атрибутов и методов класса используют слово static.
Второе слово final нужно для того, чтобы сказать JVM, что больше нельзя менять содержимое атрибута — и именно это делает такой атрибут постоянным или константой.
Далее после типа String идет название, все буквы которого большие — это просто так принято среди программистов что если подразумевается, что атрибут — это константа, то задавать ее имя большими буквами.
В мире Java-программирования есть несколько популярных IDE: IntelliJ IDEA, Eclipse, NetBeans. NetBeans самая редко используемая IDE на текущее время. Eclipse — это бесплатная IDE, с тысячами полезных плагинов, облегчающая жизнь разработчика.