请用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 }