java学习之LinkedList(链表)
LinkedList:一种线性表,但不按照线性顺序存储数据(实际上为链表)。
链表分为单向链表和双向链表,实际应当还有循环链表。
单向链表:将一个区域分成两部分,分别为节点区域和数据域。
如下图所示:
双向链表:设置两个节点指针,使其指向前驱和后继节点,前驱表示指向它的节点,后继表示它指向的节点。
Linkedlist和arraylist使用方式类似,但二者执行不同操作时效率不同。
Arraylist查找和修改的效率要高,增加和删除的效率较低,linkedlist正好与之相反。
以下情况使用 ArrayList :
频繁访问列表中的某一个元素。
只需要在列表末尾进行添加和删除元素操作。
以下情况使用 LinkedList :
你需要通过循环迭代来访问列表中的某些元素。
需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。
LinkedList 继承了 AbstractSequentialList 类。
LinkedList 实现了 Queue 接口,可作为队列使用。
LinkedList 实现了 List 接口,可进行列表的相关操作。
LinkedList 实现了 Deque 接口,可作为队列使用。
LinkedList 实现了 Cloneable 接口,可实现克隆。
LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。
Linkedlist有两个构造方法,分别为无参构造和以集合为参数进行构造。
简单代码演示如下:
输出结果为:
Linkedlist其他常用方法如下:
更多相关方法可参考:LinkedList
java学习之LinkedList(链表)相关推荐
- java中的LinkedList(链表)与ArrayList(动态数组):(1)简单辨析
一.数组的缺点(为什么需要引入JAVA集合): 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合. 首先数组可以存放基本数据类型和对象, ...
- JAVA学习 API_day05(LinkedList, 二叉树(递归实现), Stack, Set, Map)
LinkedList, 二叉树, Stack, Set, Map 1. LinkedList 1.Queue与Deque 2.效率比较 2. 二叉树的递归实现 3. Stack 4. Set 1.Ha ...
- java中的LinkedList(链表)与ArrayList(动态数组):(2)尝试简单实现LinkedList
一.对于LinkedList需要方法的简单分析 从简图中可以看出,要完成对链表的简单实现,首先应先具有一个用于创造节点对象的Node类,在Node类中应至少具有两个属性: (1).用于保存本节点数据的 ...
- java链表list_java集合之linkedList链表基础
LinkedList链表: List接口的链接列表实现.允许存储所有元素(包含null).使用频繁增删元素. linkedList方法: void addFirst(E e) 指定元素插入列表的开头 ...
- java关于泛型的实验代码_[ Java学习 ] 泛型类的应用实验
成文原因: 这篇文章是我这周所做的 Java 实验题的一个小总结. 这次实验让我深刻赞同了我们 Java 老师在这节实验课前告诉我们的话: 最重要的是把问题想明白,它要怎么拆分成几个类,每个类里究竟需 ...
- Java中的LinkedList
介绍: LinkedList是由节点组成的线性数据结构. 在单链列表中,每个节点包含数据和引用. 在此,参考部分引用链表中的下一个节点. 另一方面,在双链表中,我们具有指向上一个和下一个节点的数据和引 ...
- Java LinkedList – Java中的LinkedList
Java LinkedList is an implementation of the List and Deque interfaces. It is one of the frequently u ...
- Java学习---day14_集合框架03
Java学习-day14_集合框架03 Set集合 Set集合中,没有下标的概念 Set集合,是一个去重复的集合.在Set集合中不会添加重复的元素的 在向一个Set集合中添加元素的时候,会先判断这个元 ...
- Java学习指南从入门到入土
Java学习指南从入门到入土 本身其实只是刚刚入门,只是经历了两年时间的风吹雨打,经历了各种bug的折磨和学习各种框架的辛酸,才有得现有的 刚刚入门.有句老话说的好叫做 从入门到放弃,人生不易要及时放 ...
最新文章
- mysql和java区别_java和mysql的length()区别及char_length()
- windows下python使用fllow扩展持续读取文件的bug
- HPU暑期第五次积分赛 F - 辞树的质因数分解
- 2019 CES展即将开启 思岚科技将会带来哪些超前科技盛宴?
- 巧用 Protobuf 反射来优化代码,拒做 PB Boy
- centos7系列Cobbler+kickstart全自动装机实战
- How to uninstall Internet Explorer 7
- 服务器开机需要按f2才能进系统吗,win7系统电脑每次开机总要按F2才能进入系统怎么办...
- hdu4418 概率dp+高斯消元(近日吐槽)
- 哗啦啦用Java_哗啦啦
- 使用SQL Server数据工具和Visual Studio Online进行连续部署
- 5.2 - Function Basics
- 找东西背后的概率问题——From《思考的乐趣 Martix67数学笔记》
- WPS或Excel将姓名变为拼音
- java cmd 隐藏窗口_运行bat时隐藏cmd窗口
- python操作键盘
- 把计算机从桌面删除了怎么办,我把“我的电脑”在桌面上的快捷方式删除了 怎么还原...
- Zynga的数据分析
- markdown编辑器的基本使用
- 我对测试工作的一些认识(资深测试人员总结)
热门文章
- T23,雄关漫道真如铁,而今迈步还需从头越
- import pyrender找不到指定模块
- 学会读懂traceback,处理Python异常
- 柯布-道格拉斯效用函数下的pcr抽卡策略
- Pentaho Data Integration(Kettle) 6.0
- DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras论文阅读笔记
- YTU 3086 紧急补习!
- 合同相似可逆等价矩阵的关系及性质_矩阵的合同,等价与相似的联系与区别.doc...
- Vue mounted方法中使用data变量
- 来,学习一种数据库管理技术