一.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的更多相关文章

  1. 【Java集合】LinkedList详解前篇

    [Java集合]LinkedList详解前篇 一.背景 最近在看一本<Redis深度历险>的书籍,书中第二节讲了Redis的5种数据结构,其中看到redis的list结构时,作者提到red ...

  2. JDK集合框架--LinkedList

    上一篇讲了ArrayList,它有一个"孪生兄弟"--LinkedList,这两个集合类总是经常会被拿来比较,今天就分析一下LinkedList,然后总结一下这俩集合类的不同 首先 ...

  3. Java自学-集合框架 LinkedList

    Java集合框架 LinkedList 序列分先进先出FIFO,先进后出FILO FIFO在Java中又叫Queue 队列 FILO在Java中又叫Stack 栈 示例 1 : LinkedList ...

  4. 集合框架——LinkedList集合源码分析

    目录 示例代码 底层代码 第1步(初始化集合) 第2步(往集合中添加一个元素) 第3步(往集合中添加第二个元素) 第4步(往集合中添加第三个元素) LinkedList添加元素流程示意图 第5步(删除 ...

  5. IT第二十一天 - Collections、ArrayList集合、LinkedList集合、Set集合、HashMap集合、集合的操作注意【修20130828】

    NIIT第二十一天 上午 集合 1. 集合Collection存储数据的形式是单个存储的,而Map存储是按照键值对来存储的,键值对:即键+值同时存储的,类似align="center&quo ...

  6. Java 集合之LinkedList源码分析

    1.介绍 链表是数据结构中一种很重要的数据结构,一个链表含有一个或者多个节点,每个节点处理保存自己的信息之外还需要保存上一个节点以及下一个节点的指针信息.通过链表的表头就可以访问整个链表的信息.Jav ...

  7. java集合系列——List集合之LinkedList介绍(三)

    1. LinkedList的简介 JDK 1.7 LinkedList是基于链表实现的,从源码可以看出是一个双向链表.除了当做链表使用外,它也可以被当作堆栈.队列或双端队列进行操作.不是线程安全的,继 ...

  8. Java集合干货——LinkedList源码分析

    前言 在上篇文章中我们对ArrayList对了详细的分析,今天我们来说一说LinkedList.他们之间有什么区别呢?最大的区别就是底层数据结构的实现不一样,ArrayList是数组实现的(具体看上一 ...

  9. 集合之LinkedList源码分析

    转载请注明出处:http://www.cnblogs.com/qm-article/p/8903893.html 一.介绍 在介绍该源码之前,先来了解一下链表,接触过数据结构的都知道,有种结构叫链表, ...

  10. 集合之LinkedList(含JDK1.8源码分析)

    一.前言 LinkedList是基于链表实现的,所以先讲解一下什么是链表.链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除了存放有待存储的 ...

随机推荐

  1. win7共享打印机和防火墙配置

    今天给公司一台Win7电脑连接的打印机做共享.办公司共6台电脑,其中1台是连接了打印机,并安装了打印机驱动,可以正常本机使用打印机.现在需要其他5台电脑也共享使用打印机. 1.当共享的时候,提示“无法 ...

  2. idea 更换svn地址

    右键项目-->Subversion-->Relocate 上面是旧的SVN地址,下面填入你要更换的目标SVN地址

  3. 问题 1462: [蓝桥杯][基础练习VIP]Huffuman树

    题目描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0,  p1,  …,  pn-1},用这列数构造Huffman树的过程如下: ...

  4. Redis学习-string数据类型

    Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...

  5. LeetCode #002# Add Two Numbers(js描述)

    索引 思路1:基本加法规则 思路2:移花接木法... 问题描述:https://leetcode.com/problems/add-two-numbers/ 思路1:基本加法规则 根据小学学的基本加法 ...

  6. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  7. 剑指offer(54)字符流中第一个不重复的数字

    题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...

  8. CEF 跨域访问iframe

    转载:https://www.cnblogs.com/wxxweb/p/3738696.html 在CefBrowserSettings也就是_cef_browser_settings_t结构体中,有 ...

  9. LNMP常用命令总结

    1. 重启 ngnix: /usr/local/ngnix/sbin/nginx -s reload 2. 重启 php-fpm: 先查找php-fpm进程号 ps -aux | grep php-f ...

  10. 廖雪峰 JavaScript 学习笔记(字符串、数组和对象)

    字符串 1.和python一样,也是用' '或" "括起来的字符表示.但多行字符串是用反引号(esc下键)``,与之相对的是Python用''' '''三引号表示: 2.转义字符: ...