用LinkedList集合演示栈和队列的操作

Posted 奔跑在梦想的道路上

tags:

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

在数据结构中,栈和队列是两种重要的线性数据结构。它们的主要不同在于:栈中存储的元素,是先进后出;队列中存储的元素是先进先出。我们接下来通过LinkedList集合来演示栈和队列的操作。

import java.util.LinkedList;
/**
 * 用LinkedList集合演示栈和队列操作
 * @author 李章勇
 */
public class Test1 {
public static void main(String[] args) {
LinkedList<String> test=new LinkedList<>();
//1.演示栈Stack操作
System.out.println("1.演示栈Stack操作-----");
System.out.println("(1)向栈中添加元素  push()");
test.push("a");
test.push("b");
test.push("c");
test.push("e");
test.push("f");
test.push("g");
System.out.println(test.toString());
System.out.println("(2)从栈中取元素,但是不删除  peek()");
String peek = test.peek();
System.out.println("用peek()取出一个元素:"+peek.toString());
System.out.println("取出一个元素后,集合为:"+test.toString());
System.out.println("(3)从栈中取元素,并且删除  pop()");
String pop = test.pop();
System.out.println("用pop()取出一个元素:"+pop);
System.out.println("取出一个元素后,集合为:"+test.toString());
test.clear();
//2.演示队列Queue操作
System.out.println("2.演示队列Queue操作-----");
System.out.println("(1)向队列中添加元素  add()");
test.add("a");
test.add("b");
test.add("c");
test.add("d");
test.add("e");
test.add("f");
System.out.println(test.toString());
System.out.println("(2)从队列中移除元素  element()");
//注意:与peek()不同的是,如果队列为空,element()会返回一个异常,为此,需要先判断test集合是否为空
if(test!=null){
String element = test.element();
System.out.println("用element取出一个元素:"+element);
System.out.println("取出一个元素后,集合为:"+test.toString());
}
System.out.println("(3)从队列中移除元素  poll()");
String poll = test.poll();
System.out.println("用poll()取出一个元素:"+poll);
System.out.println("取出一个元素后,集合为:"+test.toString());
}
}

 运行结果如下:

1.演示栈Stack操作-----
(1)向栈中添加元素  push()
[g, f, e, c, b, a]
(2)从栈中取元素,但是不删除  peek()
用peek()取出一个元素:g
取出一个元素后,集合为:[g, f, e, c, b, a]
(3)从栈中取元素,并且删除  pop()
用pop()取出一个元素:g
取出一个元素后,集合为:[f, e, c, b, a]
2.演示队列Queue操作-----
(1)向队列中添加元素  add()
[a, b, c, d, e, f]
(2)从队列中移除元素  element()
用element取出一个元素:a
取出一个元素后,集合为:[a, b, c, d, e, f]
(3)从队列中移除元素  poll()
用poll()取出一个元素:a
取出一个元素后,集合为:[b, c, d, e, f]

以上是关于用LinkedList集合演示栈和队列的操作的主要内容,如果未能解决你的问题,请参考以下文章

Java:基于LinkedList实现栈和队列

栈和队列-上

自定义栈和队列

自定义栈和队列

Java集合与数据结构 栈和队列

Java集合与数据结构 栈和队列