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(链表)相关推荐

  1. java中的LinkedList(链表)与ArrayList(动态数组):(1)简单辨析

    一.数组的缺点(为什么需要引入JAVA集合): 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合. 首先数组可以存放基本数据类型和对象, ...

  2. JAVA学习 API_day05(LinkedList, 二叉树(递归实现), Stack, Set, Map)

    LinkedList, 二叉树, Stack, Set, Map 1. LinkedList 1.Queue与Deque 2.效率比较 2. 二叉树的递归实现 3. Stack 4. Set 1.Ha ...

  3. java中的LinkedList(链表)与ArrayList(动态数组):(2)尝试简单实现LinkedList

    一.对于LinkedList需要方法的简单分析 从简图中可以看出,要完成对链表的简单实现,首先应先具有一个用于创造节点对象的Node类,在Node类中应至少具有两个属性: (1).用于保存本节点数据的 ...

  4. java链表list_java集合之linkedList链表基础

    LinkedList链表: List接口的链接列表实现.允许存储所有元素(包含null).使用频繁增删元素. linkedList方法: void addFirst(E e) 指定元素插入列表的开头 ...

  5. java关于泛型的实验代码_[ Java学习 ] 泛型类的应用实验

    成文原因: 这篇文章是我这周所做的 Java 实验题的一个小总结. 这次实验让我深刻赞同了我们 Java 老师在这节实验课前告诉我们的话: 最重要的是把问题想明白,它要怎么拆分成几个类,每个类里究竟需 ...

  6. Java中的LinkedList

    介绍: LinkedList是由节点组成的线性数据结构. 在单链列表中,每个节点包含数据和引用. 在此,参考部分引用链表中的下一个节点. 另一方面,在双链表中,我们具有指向上一个和下一个节点的数据和引 ...

  7. Java LinkedList – Java中的LinkedList

    Java LinkedList is an implementation of the List and Deque interfaces. It is one of the frequently u ...

  8. Java学习---day14_集合框架03

    Java学习-day14_集合框架03 Set集合 Set集合中,没有下标的概念 Set集合,是一个去重复的集合.在Set集合中不会添加重复的元素的 在向一个Set集合中添加元素的时候,会先判断这个元 ...

  9. Java学习指南从入门到入土

    Java学习指南从入门到入土 本身其实只是刚刚入门,只是经历了两年时间的风吹雨打,经历了各种bug的折磨和学习各种框架的辛酸,才有得现有的 刚刚入门.有句老话说的好叫做 从入门到放弃,人生不易要及时放 ...

最新文章

  1. mysql和java区别_java和mysql的length()区别及char_length()
  2. windows下python使用fllow扩展持续读取文件的bug
  3. HPU暑期第五次积分赛 F - 辞树的质因数分解
  4. 2019 CES展即将开启 思岚科技将会带来哪些超前科技盛宴?
  5. 巧用 Protobuf 反射来优化代码,拒做 PB Boy
  6. centos7系列Cobbler+kickstart全自动装机实战
  7. How to uninstall Internet Explorer 7
  8. 服务器开机需要按f2才能进系统吗,win7系统电脑每次开机总要按F2才能进入系统怎么办...
  9. hdu4418 概率dp+高斯消元(近日吐槽)
  10. 哗啦啦用Java_哗啦啦
  11. 使用SQL Server数据工具和Visual Studio Online进行连续部署
  12. 5.2 - Function Basics
  13. 找东西背后的概率问题——From《思考的乐趣 Martix67数学笔记》
  14. WPS或Excel将姓名变为拼音
  15. java cmd 隐藏窗口_运行bat时隐藏cmd窗口
  16. python操作键盘
  17. 把计算机从桌面删除了怎么办,我把“我的电脑”在桌面上的快捷方式删除了 怎么还原...
  18. Zynga的数据分析
  19. markdown编辑器的基本使用
  20. 我对测试工作的一些认识(资深测试人员总结)

热门文章

  1. T23,雄关漫道真如铁,而今迈步还需从头越
  2. import pyrender找不到指定模块
  3. 学会读懂traceback,处理Python异常
  4. 柯布-道格拉斯效用函数下的pcr抽卡策略
  5. Pentaho Data Integration(Kettle) 6.0
  6. DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras论文阅读笔记
  7. YTU 3086 紧急补习!
  8. 合同相似可逆等价矩阵的关系及性质_矩阵的合同,等价与相似的联系与区别.doc...
  9. Vue mounted方法中使用data变量
  10. 来,学习一种数据库管理技术