1,LinkedList也是继承了List的接口
所以在LinkedList中存储的也是有序的,不唯一的数据
它采用的是链表式储存,所以比较适合用来执行插入,删除等功能 2,LinkedList特有的方法
特有方法:添加元素,返回元素,删除并返回元素
添加元素
在列表的首部添加元素
li.addFirst(news);
在列表的末尾添加元素
li.addLast(news); 返回元素
返回列表中的第一个元素
li.getFirst();
返回列表中的最后一个元素
li.getLast(); 删除元素
删除并返回列表中的第一个元素
li.removeFirst();
删除并返回列表中的最后一个元素
li.removeLast(); 3,与ArrayList相同的方法
添加
li.add(null);
li.add(0, null); 获取
li.get(0); 对比查找
li.contains(news); 获取集合长度 li.size(); 替换对象
li.set(0, null); 删除
li.remove(0);
li.remove(news); 清空集合
li.clear(); 特别方法:
如果此集合包含指定集合中的所有元素, 则返回 true。
li.containsAll(li);
以相反的顺序返回此 deque 中元素的迭代器。元素将按从最后 (尾部) 到第一个 (头部) 的顺序返回。
li.descendingIterator();
移除此列表中指定元素的第一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
li.removeFirstOccurrence(news);
移除此列表中指定元素的最后一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
li.removeLastOccurrence(news);
检索但不移除此列表的头 (第一个元素)。
li.element();
返回此列表的哈希代码值。
li.hashCode();
如果此集合不包含任何元素, 则返回 true。
li.isEmpty(); 示例: public class NewsLinkedList {
public static void main(String[] args) {
News news = new News(1, "北京终于放晴了!", "新闻社");
News news2 = new News(2, "香港回归纪念日", "人民新闻");
News news3 = new News(3, "假奶粉事件曝光", "人民新闻网"); //创建LinkedList集合,适合进行删除,插入等功能
LinkedList<News> li = new LinkedList<News>();
li.add(news);
li.add(news2);
li.add(news3); //遍历,同样跟ArrayList一样也能用三种
//第一种普通for循环
for (int i = 0; i < li.size(); i++) {
News n = li.get(i);
System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
}
System.out.println("*****************************************");
//第二种加强型for
for (News n:li) {
System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
}
System.out.println("*****************************************");
//第三种迭代器
Iterator<News> it = li.iterator();
while (it.hasNext()) {
News n = it.next();
System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
} //添加
li.add(null);
li.add(0, null); //获取
li.get(0); //对比查找
li.contains(news); //获取集合长度
li.size(); //替换对象
li.set(0, null); //删除
li.remove(0);
li.remove(news); //清空集合
li.clear(); //特有方法:添加元素,返回元素,删除并返回元素
//添加元素
//1,在列表的首部添加元素
li.addFirst(news);
//2,在列表的末尾添加元素
li.addLast(news); //返回元素
//返回列表中的第一个元素
li.getFirst();
//返回列表中的最后一个元素
li.getLast(); //删除元素
//删除并返回列表中的第一个元素
li.removeFirst();
//删除并返回列表中的最后一个元素
li.removeLast(); //如果此集合包含指定集合中的所有元素, 则返回 true。
li.containsAll(li);
//以相反的顺序返回此 deque 中元素的迭代器。元素将按从最后 (尾部) 到第一个 (头部) 的顺序返回。
li.descendingIterator();
//移除此列表中指定元素的第一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
li.removeFirstOccurrence(news);
//移除此列表中指定元素的最后一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
li.removeLastOccurrence(news);
//检索但不移除此列表的头 (第一个元素)。
li.element();
//返回此列表的哈希代码值。
li.hashCode();
//如果此集合不包含任何元素, 则返回 true。
li.isEmpty();
}
}

LinkedList总结的更多相关文章

  1. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  2. 计算机程序的思维逻辑 (39) - 剖析LinkedList

    上节我们介绍了ArrayList,ArrayList随机访问效率很高,但插入和删除性能比较低,我们提到了同样实现了List接口的LinkedList,它的特点与ArrayList几乎正好相反,本节我们 ...

  3. 深入理解java中的ArrayList和LinkedList

    杂谈最基本数据结构--"线性表": 表结构是一种最基本的数据结构,最常见的实现是数组,几乎在每个程序每一种开发语言中都提供了数组这个顺序存储的线性表结构实现. 什么是线性表? 由0 ...

  4. 用JavaScript来实现链表LinkedList

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文地址. 写在前面 好多做web开发的朋友,在学习数据结构和算法时可能比较讨厌C和C++,上学的时候写过的也忘得差不多了,更别提没写过的了.但幸运 ...

  5. ArrayList LinkedList源码解析

    在java中,集合这一数据结构应用广泛,应用最多的莫过于List接口下面的ArrayList和LinkedList; 我们先说List, public interface List<E> ...

  6. ArrayList、Vector、LinkedList的区别联系?

    1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...

  7. LinkedList<E>源码分析

    LinkedList的数据结构就是双向链表,如下所示: private static class Node<E> { E item;//数据元素 Node<E> next;// ...

  8. Java集合之LinkedList

    一.LinkedList概述 1.初识LinkedList 上一篇中讲解了ArrayList,本篇文章讲解一下LinkedList的实现. LinkedList是基于链表实现的,所以先讲解一下什么是链 ...

  9. 集合 LinkedList、ArrayList、Set、Treeset

    LinkedList中特有的方法: 1:方法介绍 addFirst(E e) addLast(E e) getFirst() getLast() removeFirst() removeLast() ...

  10. ArrayList、Vector、LinkedList源码

    List接口的一些列实现中,最常用最重要的就是这三个:ArrayList.Vector.LinkedList.这里我就基于JDK1.7来看一下源码. public class ArrayList< ...

随机推荐

  1. SPOJ COT2 Count on a tree II (树上莫队,倍增算法求LCA)

    题意:给一个树图,每个点的点权(比如颜色编号),m个询问,每个询问是一个区间[a,b],图中两点之间唯一路径上有多少个不同点权(即多少种颜色).n<40000,m<100000. 思路:无 ...

  2. 备忘录:python 3在class中使用yield

    之前代码都是直接在函数级别使用yield,但封装class后如何使用yield很少遇到. 经过半天的学习,总算完成示例.代码没有什么特殊地方,仅仅作为一个工作项. 与生成器合作: ########## ...

  3. iOS端架构、基本组成与使用说明

    一. app整体描述 app的描述:需求文档+接口文档+程序架构. 说明:新入手的开发人员必须拿到这三个说明文档才能整体了解app功能. 二.app架构描述 1.架构视图 2.分层结构说明 [1] a ...

  4. 中间件及tomcat的内存溢出调优

    主要是这三个选项的调整需要根据主机的内存配置 以及业务量的使用情况调节 -Xmx4g -Xms4g -Xmn2g xmx 与xms一般设置为一样 xmn大致设置为xmx xms的三分之一   可以使用 ...

  5. Vector(同步)和ArrayList(异步)异同

    //1 同步 异步 //未响应 = 假死 占用内存过多 内存无法进行处理 //请求的方式 :同步 异步 //网页的展现过程中(同步):1. css文件的下载 2.js文件的下载 3.下载你当前的htm ...

  6. python day two

    今日内容: 1.常用数据类型及内置方法 2.文件处理 3.函数 列表类型: 定义: 在[]内,可以存放多个任意类型的值,并以逗号隔开. 一般用于存放学生的爱好,课堂的周期等等... 优先掌握的操作: ...

  7. PHP16 PHP访问MySQL

    学习要点 PHP访问MySQL配置 PHP访问MySQL函数介绍 足球赛程信息管理 PHP访问MySQL配置 PHP.ini配置文件确认以下配置已经打开 extension=php_mysql.dll ...

  8. OpenCV2:第十章 视频操作

    一.简介 OpenCV提供了专门操作视频的接口类VideoCapture 二.构造VideoCapture类 VideoCapture::VideoCapture() VideoCapture::Vi ...

  9. js检测对象是否是数组

    js检测对象是否是数组 可以通过instanceof 方法一. var arr=[] arr instanceof Array   //true var obj={} obj instanceof A ...

  10. ubuntu中执行docker info出现警告信息WARNING: No memory limit support 或 WARNING: No swap limit support

    docker info 指令报若下错误:WARNING: No memory limit support 或WARNING: No swap limit support 解决方法: 1.打开/etc/ ...