import java.util.Stack
public class UsingStack {
public static void main(String[] args) {
//构造栈对象,使用类型限制,只能存储Integer数据
Stack<Integer>s = new Stack<Integer>()
//1、2、3依次入栈
s.push(1)
s.push(2)
s.push(3)
//3、2、1依次出栈
System.out.println(s.pop())
System.out.println(s.pop())
System.out.println(s.pop())
}
}
//这是我写的顺序结构的栈
import java.util.EmptyStackException
import java.util.Vector
public class UsingStack{
public static void main(String[] args){
//构造栈对象,使用类型限制,只能存储Integer数据
MyStack<Integer>s = new MyStack<Integer>()
//1、2、3依次入栈
s.push(1)
s.push(2)
s.push(3)
//3、2、1依次出栈
System.out.println(s.pop())
System.out.println(s.pop())
System.out.println(s.pop())
}
}
/**
* 栈类
* @author developer_05
* @param <T>
*/
class MyStack<T>extends Vector<T>{
/**
* 构造方法
*/
public MyStack(){
}
/**
* 入栈方法
* @param item 待入栈的元素
* @return 返回入栈的元素
*/
public T push(T item) {
addElement(item)
return item
}
/**
* 出栈方法(同步处理)
* @return 返回出栈元素
*/
public synchronized T pop() {
T obj
int len = size()
if (len == 0)
throw new EmptyStackException()
obj = elementAt(len - 1)
removeElementAt(len - 1)
return obj
}
/**
* 判断栈是否为空的方法
* @return 返回true(栈空)或false(栈非空)
*/
public boolean empty() {
return size() == 0
}
private static final long serialVersionUID = 1L
}
Thread(ThreadGroup group, Runnable target, String name, long stackSize)分配新的 Thread 对象,以便将 target 作为其运行对象,将指定的 name 作为其名称,作为 group 所引用的线程组的一员,并具有指定的堆栈大小。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)