LinkedList

Posted 薰衣草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinkedList相关的知识,希望对你有一定的参考价值。

LinkedList的特有方法:

addFirst();

addLast();


getFirst();

getLast();

获取元素但不删除元素。如果集合中没有元素,会出现NoSuchElementException异常。

 

removeFirst();

removeLast();

获取元素同时删除元素。如果集合中没有元素,会出现NoSuchElementException异常。

 

JDK1.6出现了替代方法:

offerFirst();

offerLast();

 

peekFirst();

peekLast();

获取元素,但不删除元素。如果集合中没有元素,会返回null

 

pollFirst();

pollLast();

获取元素,但是元素被删除。如果集合中没有元素,会返回null


import java.util.*;


class LinkedListDemo

	public static void main(String[] args)
	
		LinkedList link = new LinkedList();
		
		link.<span style="color:#cc33cc;">addFirst</span>("<span style="color:#33cc00;">java01</span>");
		link.addFirst("<span style="color:#33cc00;">java02</span>");
		link.addFirst("<span style="color:#33cc00;">java03</span>");
		link.addFirst("<span style="color:#33cc00;">java04</span>");

		sop(link);

		sop(link.<span style="color:#33ccff;">getFirst</span>());
		sop(link.<span style="color:#33ccff;">getLast</span>());

		sop(link.<span style="color:#33ccff;">removeFirst</span>());

		sop("size = "+<span style="color:#33ccff;">link.size</span>());

		while(!link.isEmpty())
		
			sop(link.<span style="color:#33ccff;">removeFirs</span>t());
		
	
	public static void sop(Object obj)
	
		System.out.println(obj);
	

运行结果:


练习:模拟 队列:先进先出
堆栈:先进后出


import java.util.*;

class DuiLie

	private LinkedList link;

	DuiLie()
	
		link = new LinkedList();
	

	public void myAdd(Object obj)
	
		link.offerLast(obj);
	
	public Object myGet()
	
		return link.pollFirst();
	
	public boolean isNull()
	
		return link.isEmpty();
	

class LinkedListTest

	public static void main(String[] args)
	
		DuiLie dl = new DuiLie();
		dl.myAdd("java01");
		dl.myAdd("java02");
		dl.myAdd("java03");
		dl.myAdd("java04");

		while(!dl.isNull())
		
			System.out.println(dl.myGet());
		
	

模拟堆栈时把myGet方法中的link.pollFirt()改为link.pollLast();

以上是关于LinkedList的主要内容,如果未能解决你的问题,请参考以下文章

LinkedList源码解析

java linkedlist问题,怎么向linkedlist中add数组?

类LinkedList(集合)

“LinkedList 节点不属于当前 LinkedList”

Java LinkedList用法

ArrayList与LinkedList的扩容