LinkedList总结
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总结的更多相关文章
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- 计算机程序的思维逻辑 (39) - 剖析LinkedList
上节我们介绍了ArrayList,ArrayList随机访问效率很高,但插入和删除性能比较低,我们提到了同样实现了List接口的LinkedList,它的特点与ArrayList几乎正好相反,本节我们 ...
- 深入理解java中的ArrayList和LinkedList
杂谈最基本数据结构--"线性表": 表结构是一种最基本的数据结构,最常见的实现是数组,几乎在每个程序每一种开发语言中都提供了数组这个顺序存储的线性表结构实现. 什么是线性表? 由0 ...
- 用JavaScript来实现链表LinkedList
本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文地址. 写在前面 好多做web开发的朋友,在学习数据结构和算法时可能比较讨厌C和C++,上学的时候写过的也忘得差不多了,更别提没写过的了.但幸运 ...
- ArrayList LinkedList源码解析
在java中,集合这一数据结构应用广泛,应用最多的莫过于List接口下面的ArrayList和LinkedList; 我们先说List, public interface List<E> ...
- ArrayList、Vector、LinkedList的区别联系?
1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...
- LinkedList<E>源码分析
LinkedList的数据结构就是双向链表,如下所示: private static class Node<E> { E item;//数据元素 Node<E> next;// ...
- Java集合之LinkedList
一.LinkedList概述 1.初识LinkedList 上一篇中讲解了ArrayList,本篇文章讲解一下LinkedList的实现. LinkedList是基于链表实现的,所以先讲解一下什么是链 ...
- 集合 LinkedList、ArrayList、Set、Treeset
LinkedList中特有的方法: 1:方法介绍 addFirst(E e) addLast(E e) getFirst() getLast() removeFirst() removeLast() ...
- ArrayList、Vector、LinkedList源码
List接口的一些列实现中,最常用最重要的就是这三个:ArrayList.Vector.LinkedList.这里我就基于JDK1.7来看一下源码. public class ArrayList< ...
随机推荐
- JDBC基础-setFetchSize方法
在Statement和ResultSet接口中都有setFetchSize方法 void setFetchSize(int rows) throws SQLException 查看API文档 Stat ...
- AngularJS日期格式化
本地化日期格式化:({{ today | date:'medium' }}) Mar 28, 2016 6:42:25 PM({{ today | date:'short' }}) 3/28 ...
- (转)使用Spring的注解方式实现AOP入门
http://blog.csdn.net/yerenyuan_pku/article/details/52865330 首先在Eclipse中新建一个普通的Java Project,名称为spring ...
- ROI(Region of Interesting)
ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI.在Halcon.Ope ...
- PHP06 流程控制
学习要点 选择结构 循环结构 学习目标 掌握PHP的选择结构 掌握PHP的循环结构 流程控制概述 程序 程序:一系列计算机指令的集合. 编程语言:开发程序的工具. 程序执行结构 计算机程序有三种基本执 ...
- OpenCV2:第六章 图像几何变换
一.简介 图像的几何变换有距离变换 坐标映射 平移 镜像 旋转 缩放 仿射变换等 二.重映射 把一张图像重新排列像素,比如倒置 CV_EXPORTS_W void remap( InputArr ...
- Swift详解之NSPredicate
言:谓词在集合过滤以及CoreData中有着广泛的应用.本文以Playground上的Swift代码为例,讲解如何使用NSPredicate. 准备工作 先在Playground上建立一个数组,为后文 ...
- luogu P1042 乒乓球
题目背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役.华华就是其中一位,他退役 ...
- UVa-401-Palindromes(回文)
这一题的话我们可以把映像字符的内容给放入一个字符串常量里面,然后开辟一个二维的字符串常量数组,里面放置答案. 对于回文实际上是很好求的,对于镜像的话,我们写一个返回char的函数,让它接收一个char ...
- tornado框架基础09-cookie和session
01 cookie 在上节,我们简单了解了登录过程,但是很明显,每次都需要登录,但是在平常逛网站的只需要登录一次,那么网站是如何记录登录信息的呢? 有没有什么办法可以让浏览器记住登录信息,下次再次打开 ...