gpt4 book ai didi

java - 为什么 Java 将 ArrayList 增加了 3/2?

转载 作者:搜寻专家 更新时间:2023-11-01 02:26:29 26 4
gpt4 key购买 nike

为什么 Java 将整个数组增长 3/2 而不是 2?

"The choice of a depends on the library or application: some textbooks use a = 2, but Java's ArrayList implementation uses a = 3/2 and the C implementation of Python's list data structure uses a = 9/8."

来源wikipedia

最佳答案

一般来说,增长因子的选择主要取决于经验和有根据的猜测。您必须在不必要的内存使用(对于未使用的数组空间)和不必要的运行时使用(如果必须经常扩大数组)之间找到正确的平衡。您还必须在不知道列表有多大的情况下执行此操作。在 Java 中它是 3/2 的原因仅仅是因为有人认为它是最好的。

关于java - 为什么 Java 将 ArrayList 增加了 3/2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21624515/

26 4 0