试图理解当arrayOf()
与mutableListOf()
相同但删除add()
和remove()
等功能时的重点是什么?
他们是不一样的:
arrayOf()
在引擎盖下创造了一个Array
和mutableListOf()
和ArrayList
。
您选择哪一个取决于您的应用程序。
数组是固定大小的数据结构。为了添加/删除值,您需要使用新的更改创建旧数组的副本(这很昂贵),但无论您是否使数组变大,访问元素都具有恒定的时间复杂度。你需要手动完成。
另一方面,ArrayList
也使用数组进行内部表示,但为您提供了一个可变接口。因此,添加/删除元素仍会导致内部数组被复制,但此过程将被抽象出来。
结论:
Array
。ArrayList
。LinkedList
。