Java ArrayList对象-构造函数是如何工作的,它们的时间复杂度是多少?
我试图收集有关ArrayList类中的构造函数如何工作以及类项目的时间复杂性的信息 在API文档中 它声明get()、set()isEmpty()、iterator()和listIterator()是唯一的O(1)方法 我认为这意味着构造器是O(n),但我似乎找不到任何明确说明这一点的东西,也找不到构造器是如何工作的 任何洞察都将不胜感激。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(int)
基本上只分配一个大小为n的数组,其他什么都不分配。从技术上讲,这可能是O(n),但分配的复杂性…本身相当复杂,而且通常只有O(1),尽管稍后在垃圾收集器中会有开销
ArrayList(Collection)
基本上只需调用目标集合上的toArray()
,并使用它,这将花费…不管该集合类型需要多长时间,它基本上总是O(n)。为什么不看一下代码呢?太棒了,谢谢你的宝贵资源。这正是我所需要的。