一.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. caffe-ssd的GPU安装时make test 报错:.build_release/test/test_all.testbin:

    报错原因:LIBRARIES路径添加不全 解决方法:LIBRARIES += glog gflags protobuf boost_system boost_filesystem boost_rege ...

  2. List 循环删除 指定元素的 方法

    使用Iterator进行循环,在删除指定元素.如果使用for 或 foreach 在删除指定下标是,list.size 会相应的缩短且下标前移,导致相邻满足条件的元素未删除 Iterator<S ...

  3. swapper_pg_dir主内核页表、init和kthreadd、do_fork时新建子进程页表、vmalloc与kmalloc

    都是以前看到一个点扯出的很多东西,当时做的总结,有问题欢迎讨论,现在来源难寻,侵删! 1.Init_task.idle.init和kthreadd的区别和联系 idle进程其pid=0,其前身是系统创 ...

  4. websocket 二合一

    server from flask import Flask, request, render_template from geventwebsocket.handler import WebSock ...

  5. [转载]要提高SQL查询效率where语句条件的先后次序应如何写

    出处:https://www.cnblogs.com/exe19/p/5786806.html 我们要做到不但会写SQL,还要做到写出性能优良的SQL语句. (1)选择最有效率的表名顺序(只在基于规则 ...

  6. GO语言常量和变量

    标识符与关键字 标识符 人为定义有特殊意义的词,Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头. 关键字 关键字是指编程语言中预先定义好的具有特殊含义的标识符. GO语言中有25 ...

  7. webpack学习入门

    写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段 ...

  8. php window系统 xdebug+phpstorm 本地断点调试使用教程

    运行环境: phpStorm 2017.2 PHP 7.1.5 Xdebug 2.6.1 php.ini添加xdebug模块 你需要仔细分析和选择要下载的对应版本,否则无法调试.由于非常容易出错,建议 ...

  9. Html h1-h6 标签

    Html h1-h6 标签 <html> <body> <!-- h1-h6标签:标题标签 --> <h1>XSK</h1> <h2& ...

  10. selenium+java利用AutoIT实现文件上传

    转自https://www.cnblogs.com/yunman/p/7112882.html?utm_source=itdadao&utm_medium=referral 1.AutoIT介 ...