首页 > 代码库 > java 16 - 5 LinkedList模拟栈数据结构的集合

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模拟栈数据结构的集合