Ответ 1
В целом (и в Java) массив представляет собой структуру данных, обычно состоящую из последовательной памяти, хранящей коллекцию объектов.
List
является interface в Java, что означает, что он может иметь несколько реализаций. Одна из этих реализаций - это ArrayList
, которая представляет собой класс, реализующий поведение интерфейса List
с использованием массивов в качестве структуры данных.
Существует ряд других классов, реализующих интерфейс List
. Один простой способ взглянуть на них - это просмотреть Javadoc для List
: http://docs.oracle.com/javase/6/docs/api/java/util/List.html
На этой странице вы увидите "все известные классы реализации", которые представляют собой все типы списков в Java.