ArrayList 和 LinkedList 的区别是什么?

问题阐述

ArrayList 和 LinkedList 是两个常用的 List 接口实现类,请问它们有何区别?

解答

  ArrayLIst 类相当于数据结构中的线性表,它在底层使用数组来存储元素,因此适合快速获得指定位置的元素。但是,在删除元素时,例如删除第一个元素,则后面的元素必须全部向前移动一位,显然开销很大。向第一个位置增加元素时,效果类似。
  LinkedList 类相当于数据结构中的链表。它在底层使用对象来保存元素,因此适合元素的增加和删除。但是,要获得指定位置的元素时,需要从头开始遍历,显然开销很大。
  在实际编程中,通常采用面向接口的编程方法,示例代码如下:

		List<Integer> list = new ArrayList<Integer>();

  此时如果需要从列表中删除元素,可以将实现类换成LinkedList,代码如下:

	    list = new LinkedList<Integer>();
Java语言在API中提供了很多工具类、方法来简化开发,因此了解这些工具的原理对提高水平非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值