问题阐述
ArrayList和LinkedList是两个常用的List接口实现类,请问它们有何区别?
专家解答
ArrayList类相当于数据结构中的线性表,它在底层使用数组来存储元素,因此适合快速获得指定位置的元素。但是,在删除元素时,例如删除第一个元素,则后面的元素必须全部向前移动一位,显然开销很大。向第一个位置增加元素时,效果类似。
LinkedList类相当于数据结构中的链表,它在底层使用对象来保存元素,因此适合元素的增加和删除。但是,要获得指定位置的元素时,需要从头开始遍历,显然开销很大。
在实际编程中,通常采用面向接口的编程方法,示例代码如下。
Listlist = new ArrayList();
此时如果需要从列表中删除元素,可以将实现类换成LinkedList,代码如下。
list = newLinkedList();
专家点评
Java语言在API中提供了很多工具类、方法来简化开发,因此了解这些工具的原理对于提高程序员水平非常重要。
关于【C语言编程锦囊】,可能你还想知道:
领取专属 10元无门槛券
私享最新 技术干货