《java入门第一季》之LinkList模拟桟结构案例
需求:请用LinkedList模拟栈数据结构的集合,并测试
题目的意思是:
你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟。
定义一个类叫MyStack代码如下:
package cn.itcast_05; import java.util.LinkedList; /** * 自定义的栈集合 * * @author 风清扬 * @version V1.0 */ public class MyStack { private LinkedList link;//定义一个LinkedList类型的变量 link,定义引用类型的变量 public MyStack() { link = new LinkedList();//外界一创建MyStack的对象就执行这里的语句。在底层创建产生LinkedList对象即link对象。 } public void add(Object obj) { link.addFirst(obj);//外界调用这里,底层实际上是做addFirst添加。LinkedList类下面的方法:public void addFirst(E e)将指定元素插入此列表的开头。 } public Object get() { return link.removeFirst(); //LinkedList类下面的方法:public Object removeFirst()移除并(返回)此列表的第一个元素。返回的是object类型的 } public boolean isEmpty() {//LinkedList类下面的方法:boolean isEmpty()如果列表不包含元素,则返回 true。 return link.isEmpty(); } }而我们自定一的类可以直接使用了。代码写了出来如下:
package cn.itcast_05; /* * MyStack的测试 * public void addFirst(E e)将指定元素插入此列表的开头。 * public E removeFirst()移除并(返回)此列表的第一个元素。 * LinkedList的这两个方法与桟有关 * */ public class MyStackDemo { public static void main(String[] args) { // 创建集合对象 MyStack ms = new MyStack(); // 添加元素 ms.add("hello"); ms.add("world"); ms.add("java"); while(!ms.isEmpty()){ String s = (String) ms.get(); System.out.println(s);//字符串 } } }