试图了解使arrayOf()
与mutableListOf()
相同但删除诸如add()
和remove()
之类的功能时的意义是什么?
答案 0 :(得分:1)
它们是不同的:
arrayOf()
在引擎盖下创建一个Array
,并mutableListOf()
一个ArrayList
。
您选择哪种取决于您的应用程序。
数组是固定大小的数据结构。为了添加/删除值,您需要创建具有新更改的旧数组的副本(这是很昂贵的),但是无论您是大数组,访问元素都具有恒定的时间复杂度。不过,您需要手动执行此操作。
另一方面,ArrayList
也将数组用于内部表示,但是为您提供了可变的接口。因此,添加/删除元素仍然会导致内部数组被复制,但是此过程对您来说是抽象的。
结论:
Array
。 ArrayList
。LinkedList
。