你的位置:首页 > 软件开发 > Java > 【JAVA集合】LinkedList

【JAVA集合】LinkedList

发布时间:2016-03-12 21:00:12
以下内容基于jdk1.7.0_79源码;什么是LinkedListList接口的链表实现,并提供了一些队列,栈,双端队列操作的方法;LinkedList补充说明与ArrayList对比,LinkedList插入和删除操作更加高效,随机访问速度慢;可以作为栈、队列、双端队列数据结构 ...

【JAVA集合】LinkedList

以下内容基于jdk1.7.0_79源码;

什么是LinkedList

List接口的链表实现,并提供了一些队列,栈,双端队列操作的方法;

LinkedList补充说明

与ArrayList对比,LinkedList插入和删除操作更加高效,随机访问速度慢;

可以作为栈、队列、双端队列数据结构使用;

非同步,线程不安全;

与ArrayList、Vector一样,LinkedList的内部迭代器存在“快速失败行为”;

支持null元素、有顺序、元素可以重复;

LinkedList继承的类以及实现的接口

【JAVA集合】LinkedList

以上接口和类中,关于Iterable接口、Collection接口、List接口、 Cloneable、 java.io.Serializable接口、AbstractCollection类、AbstractList类的相关说明,在介绍ArrayList的时候,已经有了个大概说明,这里将主要了解下Queue接口、Deque接口、AbstractSequentialList类以及LinkedList类;

Queue接口

队列接口,定义了一些队列的基本操作,

注意使用时优先选择以下蓝色字体方法(offer、poll、peek),队列通常不允许null元素,因为我们通常调用poll方法是否返回null来判断队列是否为空,但是LinkedList是允许null元素的,所以,在使用LinkedList最为队列的实现时,不应该将null元素插入队列;

boolean add(E e);

将对象e插入队列尾部,成功返回true,失败(没有空间)抛出异常IllegalStateException

boolean offer(E e);

将对象e插入队列尾部,成功返回true,失败(没有空间)返回false;

E remove();

获取并移除队列头部元素,如果队列为空,抛出NoSuchElementException异常;

E poll();

获取并移除队列头部元素,如果队列为空,返回null;

E element();

获取但不移除队列头部元素,如果队列为空,抛出NoSuchElementException异常;

E peek();

获取但不移除队列头部元素,如果队列为空,返回null;

举个简单的例子,基于LinkedList实现的队列,代码如下:

package com.pichen.basis.col;import java.util.LinkedList;import java.util.Queue;public class LinkListTest {  public static void main(String[] args) {    Queue<Integer> linkedListQueue = new LinkedList<Integer>();    //入队    linkedListQueue.offer(3);    linkedListQueue.offer(4);    linkedListQueue.offer(2);    linkedListQueue.offer(1);    //出队    Integer tmp;    while((tmp = linkedListQueue.poll()) != null){      System.out.println(tmp);    }        System.out.println(linkedListQueue.peek());  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:【JAVA集合】LinkedList

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。