博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
唠唠SE的集合-05——LinkedList
阅读量:5939 次
发布时间:2019-06-19

本文共 569 字,大约阅读时间需要 1 分钟。

hot3.png

5. LinkedList

底层数据结构是链表查询慢,增删快;线程不安全,效率高

由于LinkedList:每一个元素在内存中的地址不连续,需要让上一个元素记住下一个元素

所以每个元素中保存的有下一个元素的位置。虽然也有角标,但是查找的时候,需要从头往下找,显然是没有数组查找快的。

但是,链表在插入新元素的时候,只需要让前一个元素记住新元素,让新元素记住下一个元素就可以了,所以插入很快。

由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素。

这样的增删效率较高,但查询时需要一个一个的遍历, 所以效率较低。

我们用一个图来解释:

110352_1OYv_3041734.png

每一个方框都有他自己的内存地址,同时还记录着它下一个数据的内存地址,这样就可以从第一个元素一直找到任何链表上的元素。

 

LinkedList类特有功能

public void addFirst(E e)及addLast(E e)

public E getFirst()及getLast()

public E removeFirst()及public E removeLast()

这些方法是跟Queue(队列)有关的,具体内容可移步:

转载于:https://my.oschina.net/LinkedBear/blog/1615360

你可能感兴趣的文章
「镁客·请讲」天宝陈朝晖:AI 的准确译法不是人工智能,而是机器智能 ...
查看>>
DOM渲染的详细过程
查看>>
技术剖析 | Axonius为什么能获得 2019 RSAC创新大奖
查看>>
「镁客·请讲」嘿蘑法王亮:用VR给青年艺术家创造更多机会 ...
查看>>
加拿大高等研究院宣布新的科研计划,Bengio、LeCun 任 AI 项目负责人 ...
查看>>
关于缓存命中率的几个关键问题!
查看>>
java的日历类
查看>>
mybatis 思维导图,让 mybatis 不再难懂(二)
查看>>
搭建百度unit2.0测试代码(Java)
查看>>
DOS常用命令详解
查看>>
监控haproxy的脚本
查看>>
单用户模式迁移home家目录
查看>>
Css常用操作——————分类
查看>>
Wrong permissions on configuration file, should not be world writable
查看>>
rabbitmq3.5.1 原理和集群安装
查看>>
linux中的rm 删除命令
查看>>
多功能PCIE交换机之三:PCIE非透明桥 cache一致性
查看>>
依赖属性之“风云再起”三
查看>>
9.1 正则介绍_grep(上);9.2 grep(中);9.3 grep(下)
查看>>
启动oracle em命令
查看>>