List集合2-LinkedList
一.LinkedList集合
LinkedList集合也是List接口的实现类(没有ArrayList集合常见)
二.LinkedList集合的特点
LinkedList内部是一个链表(双向链表)
LinkedList的特点:增删快,查找慢
三.LinkedList集合中特有的方法,(子类比接口更加强大,所以有部分特有方法)
void addFirst(E e): 向集合的首个位置添加元素
void addLast(E e): 向集合的尾部添加元素
LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
//void addFirst(E e): 向集合的首个位置添加元素
list.addFirst("牛顿");
System.out.println("list:" + list);
//void addLast(E e):向集合的尾部添加元素
list.addLast("伽利略");
System.out.println("list:" + list);
E getFirst(): 获取集合收个位置的元素
E getLast(): 获取集合尾部的元素
LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
list.add("达芬奇"); //获取集合中首个位置的元素并打印
System.out.println("首个元素:" + list.getFirst()); //爱迪生 //获取集合中首个位置的元素并打印
System.out.println("尾部元素:" + list.getLast()); //达芬奇
E removeFist(): 删除收个元素,返回被删除的元素
E removeLast(): 删除最后一个元素,返回被删除的元素
LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
list.add("达芬奇"); //调用 removeFirst() 删除首个元素
//String str = list.removeFirst();
System.out.println("删除后:" + list); //[ 达尔文,达芬奇]
//删除尾部元素
String str = list.removeLast(); System.out.println("删除后:" + list); //[爱迪生, 达尔文]
System.out.println("str:" + str); //达芬奇
void push(E e): 压入,向收个位置添加元素 (等价于addFirst(E e)))
E pop(): 弹出,移除第一个元素 (等价于E removeFirst())
push()和pop()两个方法为了更加见名知意
//创建一个集合并添加元素
LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
list.add("达芬奇"); //void push(E e): 压入, 向首个位置添加元素
list.push("牛顿");
System.out.println("list:" + list); //[牛顿, 爱迪生, 达尔文, 达芬奇] //E pop(): 弹出,移除第一个元素。
String str = list.pop();
System.out.println("list:" + list); //[爱迪生, 达尔文, 达芬奇]
List集合2-LinkedList的更多相关文章
- 【Java集合】LinkedList详解前篇
[Java集合]LinkedList详解前篇 一.背景 最近在看一本<Redis深度历险>的书籍,书中第二节讲了Redis的5种数据结构,其中看到redis的list结构时,作者提到red ...
- JDK集合框架--LinkedList
上一篇讲了ArrayList,它有一个"孪生兄弟"--LinkedList,这两个集合类总是经常会被拿来比较,今天就分析一下LinkedList,然后总结一下这俩集合类的不同 首先 ...
- Java自学-集合框架 LinkedList
Java集合框架 LinkedList 序列分先进先出FIFO,先进后出FILO FIFO在Java中又叫Queue 队列 FILO在Java中又叫Stack 栈 示例 1 : LinkedList ...
- 集合框架——LinkedList集合源码分析
目录 示例代码 底层代码 第1步(初始化集合) 第2步(往集合中添加一个元素) 第3步(往集合中添加第二个元素) 第4步(往集合中添加第三个元素) LinkedList添加元素流程示意图 第5步(删除 ...
- IT第二十一天 - Collections、ArrayList集合、LinkedList集合、Set集合、HashMap集合、集合的操作注意【修20130828】
NIIT第二十一天 上午 集合 1. 集合Collection存储数据的形式是单个存储的,而Map存储是按照键值对来存储的,键值对:即键+值同时存储的,类似align="center&quo ...
- Java 集合之LinkedList源码分析
1.介绍 链表是数据结构中一种很重要的数据结构,一个链表含有一个或者多个节点,每个节点处理保存自己的信息之外还需要保存上一个节点以及下一个节点的指针信息.通过链表的表头就可以访问整个链表的信息.Jav ...
- java集合系列——List集合之LinkedList介绍(三)
1. LinkedList的简介 JDK 1.7 LinkedList是基于链表实现的,从源码可以看出是一个双向链表.除了当做链表使用外,它也可以被当作堆栈.队列或双端队列进行操作.不是线程安全的,继 ...
- Java集合干货——LinkedList源码分析
前言 在上篇文章中我们对ArrayList对了详细的分析,今天我们来说一说LinkedList.他们之间有什么区别呢?最大的区别就是底层数据结构的实现不一样,ArrayList是数组实现的(具体看上一 ...
- 集合之LinkedList源码分析
转载请注明出处:http://www.cnblogs.com/qm-article/p/8903893.html 一.介绍 在介绍该源码之前,先来了解一下链表,接触过数据结构的都知道,有种结构叫链表, ...
- 集合之LinkedList(含JDK1.8源码分析)
一.前言 LinkedList是基于链表实现的,所以先讲解一下什么是链表.链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除了存放有待存储的 ...
随机推荐
- 记使用talend从oracle抽取数据时,数字变为0的问题
数据源为oracle,字段类型为number. 发现通过mainline连接到一个logrow控件,输入的该字段的值为0 经过多次测试还是没发现有什么规律. 通过查看代码发现有这一句内容. if (r ...
- IntelliJ Idea 使用笔记
1. IntelliJ Idea解决Could not autowire. No beans of 'xxxx' type found的错误提示. 原因可能有两个,第一个是IntellijIDEA本身 ...
- Porsche Piwis Tester II V14.000 with CF30 Laptop at autonumen.com
Porsche piwis tester ii is the latest professional tester for Porshe,the most poweful diagnose and o ...
- CSS hover
CSS hover hover 鼠标移动到当前标签上时,以下css属性才能生效 <!DOCTYPE html> <html lang="en"> <h ...
- mysql 主键外键
外键MUL:一个特殊的索引,用于关键2个表,只能是指定内容 主键PRI:唯一的一个不重复的字段. # 创建一个表用来引用外键 create table class( -> id int no ...
- oracle 11.2 asynch descriptor resize等待事件
asynch descriptor resize描述最近部分insert /*+ append */语句出现该等待时间,经查This event is set when the number of a ...
- iOS开发 -------- AFNetworking使用中遇到的小问题
1 在使用的时候会经常出现如下图打印信息,导致请求的数据不能正常显示出来 2 此时找到AFJSONResponseSerializer类,找到箭头标识的位置 3 在下图标识的位置,往集合里面添加 元素 ...
- GitHub的Windows客户端的使用教程
GitHub for Windows客户端的使用教程 什么是Github >说到什么是GitHub,我们先看wikipedia的描述“GitHub是一个利用Git进行版本控制.专门用于存放软件代 ...
- 【依赖注入】Unity和Autofac
全面理解ASP.NET Core依赖注入:https://www.cnblogs.com/jesse2013/p/di-in-aspnetcore.html MSDN:https://docs.mic ...
- 快速测试方法——JUnit
特点:写一个类,里面可以执行多个方法. 在一个方法上面添加@Test,选中方法名,右键run,即可执行当前方法 import org.junit.Test; //注:测试方法要求:不能有返回值,不能有 ...