While the general point is correct, the statement about the memory is not. The default list implementation - ArrayList uses array under the hood so there is no overhead in memory usage. The problem with performance comes from different source: automatic boxing.