您的位置:首页 > 编程语言 > Java开发

《java入门第一季》之LinkList模拟桟结构案例

2016-05-23 08:00 441 查看
需求:请用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);//字符串
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: