Java如何实现堆栈

Java如何实现堆栈,第1张

//这是JDK提供的栈

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 所引用的线程组的一员,并具有指定的堆栈大小。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11044143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存