用Java中的new运算符初始化ArrayList?

Pra*_*eep 4 java arraylist

初始化ArrayListJava 的最佳实践是什么?

如果我使用new运算符初始化ArrayList,则默认情况下ArrayList将为10个桶分配内存.这是一个性能打击.

我不知道,也许我错了,但在我看来ArrayList,如果我确定尺寸,我应该通过提及尺寸来创建!

duf*_*ymo 5

这是一个性能打击.

我不担心"性能受损".Java中的对象创建非常快.性能差异不太可能由您衡量.

如果您知道,请务必使用尺寸.如果你不这样做,无论如何都没有什么可做的.

你在这里做的那种想法被称为"过早优化".唐纳德克努特说这是万恶之源.

更好的方法是在快速完成代码之前使代码工作.利用手中的数据进行优化,告诉您代码的缓慢位置.别猜 - 你可能错了.你会发现你很少知道瓶颈在哪里.

  • 如果你总是在List中有一个对象,我会问你为什么设计一个使用List的类.为什么不引用单个对象?如果你告诉我"我可能有不止一个......",那么你的ALWAYS声明是不正确的. (2认同)