závisí od jazyka, konkrétnej implementácie kolekcie, etc...
ale v podstate je to tak, ako píšeš...
toto
arrayList<String> list= new arrayList<String>();
vytvorí nejaké malé pole na začiatku... netuším koľko je to v jave
c# to mal myslím 4... ale to je len veľmi matná spomienka, takže ten počet môže byť kľudne iný... už to bolo dávno...
teoreticky môže existovať kolekcia, ktorá sa bude zväčšovať, kým môže... ak ju niekto napísal
netuším, či taká je...
btw - pre c#... podstatné je, že aj kolekcie, aj polia implementujú IEnumerable rozhranie...
netuším, či aj v jave niečo také je