Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList对象-构造函数是如何工作的,它们的时间复杂度是多少?_Java_Arraylist - Fatal编程技术网

Java ArrayList对象-构造函数是如何工作的,它们的时间复杂度是多少?

Java ArrayList对象-构造函数是如何工作的,它们的时间复杂度是多少?,java,arraylist,Java,Arraylist,我试图收集有关ArrayList类中的构造函数如何工作以及类项目的时间复杂性的信息 在API文档中 它声明get()、set()isEmpty()、iterator()和listIterator()是唯一的O(1)方法 我认为这意味着构造器是O(n),但我似乎找不到任何明确说明这一点的东西,也找不到构造器是如何工作的 任何洞察都将不胜感激。ArrayList(int)基本上只分配一个大小为n的数组,其他什么都不分配。从技术上讲,这可能是O(n),但分配的复杂性…本身相当复杂,而且通常只有O(1)

我试图收集有关ArrayList类中的构造函数如何工作以及类项目的时间复杂性的信息

在API文档中

它声明get()、set()isEmpty()、iterator()和listIterator()是唯一的O(1)方法

我认为这意味着构造器是O(n),但我似乎找不到任何明确说明这一点的东西,也找不到构造器是如何工作的

任何洞察都将不胜感激。

ArrayList(int)
基本上只分配一个大小为n的数组,其他什么都不分配。从技术上讲,这可能是O(n),但分配的复杂性…本身相当复杂,而且通常只有O(1),尽管稍后在垃圾收集器中会有开销


ArrayList(Collection)
基本上只需调用目标集合上的
toArray()
,并使用它,这将花费…不管该集合类型需要多长时间,它基本上总是O(n)。

为什么不看一下代码呢?太棒了,谢谢你的宝贵资源。这正是我所需要的。