《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);//字符串
		}
	}
}



你可能感兴趣的:(java,数据结构,栈,LinkedList,javase入门)