#笔记#圣思园 JavaSE 第41讲——LinkedList源代码剖析

1.List这个接口,主要有两个实现类:ArrayList  和  LinkedList(链表)

add方法、get方法、size方法、toArry方法

addlast方法--------------在最后一个位置增加元素

addfirst方法--------------在开头位置插入一个元素

2.ArrayList和LinkedList的比较分析

1)ArrayList底层用数组实现,LinkedList底层用双向链表实现

2)执行插入或删除操作时,LinkedList效率高

3)执行搜索操作时,ArrayList效率高,因为ArrayList连续存放,能很快定位元素位置

4)当向ArrayList添加一个对象时,实际上就是将该对象放置到ArrayList底层所维护的数组当中

      当箱LinkedList添加一个对象时,实际上LinkedList内部会生成一个Entry对象,该Entry对象的结构为:

Entry

{

    Entry previous;//前引用

    Object element;//Object类型元素element是我们想LinkedList中添加的元素

    Entry next;//后引用

}

最后,将Entry对象加入到链表中。LinkedList中所维护的是一个个Entry对象

3.实现类与接口

List的实现类是ArrayList和LinkedList

Set的实现类是HashSet和LinkedHashSet

SortedSet——>TreeSet

Map的实现类是HashMap

SortedMap——>TreeMap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值