К вашему сведению, ArrayList многими считается злом. Как сказал Кевин, нам было бы лучше List .
Список - это то, что называется универсальным. Google "строго набрал", "бокс" и "дженерики", чтобы лучше понять, почему.
вернуться к исходному вопросу:
Размер массива должен быть объявлен при создании экземпляра, т.е.
Люди [] люди = новые люди [5];
это создает 5 пустых ячеек в массиве, так что вы можете получить доступ к ячейкам, используя нижний индекс, т.е. [0]
ArrayList или List при создании экземпляра с использованием конструктора по умолчанию не имеет ячеек, т.е.
Список человек = новый список ();
человек [0] на данный момент не существует.
использовать people.Add (new People ("first", "last")); добавить новую ячейку в список. теперь индекс [0] действителен, но [1] все еще недействителен, потому что есть только одна ячейка.
Список, т. Е. ArrayList или List, может динамически увеличиваться с помощью .Add (). После добавления в список вы можете ссылаться на них, используя нижний индекс [i], но вы не можете использовать этот нижний индекс для их добавления.