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< ...
随机推荐
- 基于 python 的接口测试框架
项目背景 公司内部的软件采用B/S架构,管理实验室数据,实现数据的存储和分析统计.大部分是数据的增删改查,由于还在开发阶段,所以UI界面的变化非常快,之前尝试过用python+selenium进行UI ...
- Android天天数钱游戏项目源码
Android天天数钱游戏源码,源码功能,天天数钱,这个游戏现在很多线上的小游戏都有这个了,游戏项目是在基于android游戏代码,大家可以参考一下. 源码下载:http://code.662p.co ...
- 15分钟学会使用Git
http://blog.csdn.net/u013510614/article/details/50588446 主体思想 Git作为一个复杂的版本控制系统,命令之多,相信很多小白已经望而却步,有的尝 ...
- 使用python编写的简单远程管理软件
因为用户可以选择是否同意被控制,所以并不算是木马. 使用python3.7,spyder,在windows 10 开发. client为控制端,server为被控端. 参考 mygithub http ...
- TUM好用的工具
https://vision.in.tum.de/data/datasets/rgbd-dataset/tools?tdsourcetag=s_pctim_aiomsg
- sql is null
select * from a or state is null)
- QT5:总结篇 控件集合
一.Layouts 二.Spacers 三.Buttons 四.Item Views(Model-Based) 五.Item Widgets(Item-Based) 六.Containers 七.In ...
- Linux 系统内存分析
1. 内存基本介绍 1.计算机基本结构: 电脑之父--冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器 如图: 输入设备:键盘鼠标等 CPU:是计算机的运算核心和控制核心, ...
- IO之Object流举例
import java.io.*; public class TestObjectIO { public static void main(String args[]) throws Exceptio ...
- 【Python基础】迭代器、生成器
迭代器和生成器 迭代器 一 .迭代的概念 #迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单 ...