gpt4 book ai didi

java - ArrayList 与动态数组相比如何

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

ArrayList 只是动态数组的接口(interface)吗?或者它们是同一回事?

比如:ArrayList对应动态数组,HashMap对应Map ?

除了动态数组,我没有看到任何 Java API,除非它是 ArrayList

最佳答案

是的。简而言之。

更长的解释是ArrayList是一个使用数组存储的集合,而不是链表、双向链表或类似的。这意味着它提供了使用数组的所有好处,而 Java 负责为您(动态)调整数组大小的机制。

我似乎记得初始数组是用默认的最大大小创建的(可以由用户指定)。如果集合空间不足,则会创建一个更大的数组,并将原始数组的内容复制到新数组中。设置大小的增量是为了防止这种情况经常发生,因为操作成本相当高。

Java 还提供了类似的 Vector 集合,但也是线程安全的,参见:What are the differences between ArrayList and Vector? .

关于java - ArrayList 与动态数组相比如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com