java 16 - 5 LinkedList模拟栈数据结构的集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 16 - 5 LinkedList模拟栈数据结构的集合相关的知识,希望对你有一定的参考价值。

 

  请用LinkedList模拟栈数据结构的集合,并测试
    题目的意思是:
    你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟。

 1 package cn_LinkedList;
 2 
 3 import java.util.LinkedList;
 4 
 5  
 6 
 7 
 8 public class MyStack {
 9 
10 //定义一个LinkedList类的成员变量
11 private LinkedList list = null;
12 
13 /**
14 * 构造方法
15 * @list 调用LinkedList类的方法
16 */
17 public MyStack(){
18 list = new LinkedList();
19 }
20 /**
21 * 既然是集合,就要有添加元素的方法
22 * @param obj 可添加任何类型的元素
23 */
24 public void add(Object obj){
25 list.addFirst(obj);
26 }
27 
28 /**
29 * 集合还要有提取元素的方法,但是这里要求模拟栈的方式,
30 * 而栈是先进入的后出来,所以,要用removeFirst()方法
31 * 存入 A/B/C , 提取C/B/A,提取出来就丢了,则下一个就成了第一个,依此类推
32 */
33 public void get(Object obj){
34 list.removeFirst();
35 }
36 /**
37 * 提取时,为了防止超出集合的容量出现错误,要加一个查询下一个元素是否存在的方法
38 * @isEmpty 是boolean类型
39 */
40 public boolean isEmpty(){
41 return list.isEmpty();
42 }
43 }
44 
45 
46 package cn_LinkedList;
47 
48 import java.util.Iterator;
49 import java.util.LinkedList;
50 
51 /*
52 请用LinkedList模拟栈数据结构的集合,并测试
53 */
54 public class MyStackDemo {
55 
56 public static void main(String[] args) {
57 
58 //创建一个集合
59 LinkedList list = new LinkedList();
60 
61 //给集合添加元素
62 list.addFirst("阿三");
63 list.addFirst("阿四");
64 list.addFirst("阿五");
65 list.addFirst("阿六");
66 list.addFirst("阿七");
67 list.addFirst("阿八");
68 
69 //遍历集合,并输出
70 Iterator it = list.iterator();
71 while(it.hasNext()){
72 String s = (String)it.next();
73 System.out.println(s);
74 }
75 }
76 }

 

以上是关于java 16 - 5 LinkedList模拟栈数据结构的集合的主要内容,如果未能解决你的问题,请参考以下文章

用LinkedList方法模拟栈的数据结构

Java:基于LinkedList实现栈和队列

采用LinkedList来模拟栈数据结构的集合--先进后出

Java学习-List

源码系列Java中的数据结构——栈,队列,链表与LinkedList

源码系列Java中的数据结构——栈,队列,链表与LinkedList