Зачем разрешать прямой доступ ко всем элементам вашей коллекции, когда вы хотите / должны разрешать доступ только к переднему или хвостовому элементу?
Кроме того, stack.pop()
легче понять, чем list.remove(list.size()-1)
, иТо же самое относится к большинству других операций со стеком и очередями.