1 package cn.itcast.api.b.list.subclass;
2
3 import java.util.LinkedList;
4
5 public class LinkedListTest {
6
7 public static void main(String[] args) {
8 /*
9 * 面试题:用LinkedList模拟一个堆栈或者队列数据结构.
10 * 创建一个堆栈或者队列数据结构对象.该对象中是使用LinkedList来完成的。
11 *
12 */
13 //创建一个队列对象.
14 Queue queue = new Queue();
15 //往队列中添加元素.
16 queue.myAdd("itcast1");
17 queue.myAdd("itcast2");
18 queue.myAdd("itcast3");
19 queue.myAdd("itcast4");
20
21 while(!queue.isNull()){
22 System.out.println(queue.myGet());
23 }
24
25 }
26
27 }
28
29 /**
30 * 定义一个队列数据结构。Queue
31 *
32 */
33 class Queue{
34 //封装了一个链表数据结构.
35 private LinkedList link;
36 /*
37 * 队列初始化时,对链表对象初始化.
38 */
39 Queue(){
40 link = new LinkedList();
41 }
42 /*
43 *队列的添加功能.
44 */
45 public void myAdd(Object obj){
46 //内部使用的就是链表的方法.
47 link.addFirst(obj);
48 }
49
50 /**
51 * 队列的获取方法.
52 */
53 public Object myGet(){
54 return link.removeLast();
55 }
56 //判断队列中元素是否空,没有元素就为true.
57 public boolean isNull(){
58 return link.isEmpty();
59 }
60
61 }