java stack 接口_JAVA自己实现List接口Stack

JAVA自己实现List接口Stack

发布时间:2020-07-13 21:32:05

来源:51CTO

阅读:339

作者:kepp007

7a91e54921dad4c8ff80f1ada4326470.png

package 集合.Stack;

import java.util.Arrays;

import java.util.EmptyStackException;

import java.util.Vector;

public class MyStack {

//底层数组默认长度为10

private Object[] myStack = new Object[10];

//size

private int size = 0;

public MyStack() {

}

//push

public Object push(Object obj) {

//先判断是否需要扩容

if(size>=myStack.length){

myStack = Arrays.copyOf(myStack,myStack.length*2);

}

//添加元素

myStack[size++] = obj;

//size++;

return obj;

}

//pop弹出栈顶元素

public Object pop() {

Object obj = peek();

//忽略栈顶元素

size--;

return obj;

}

//peek查找栈顶元素

public Object peek() {

if(empty()){

throw new EmptyStackException();

}

return myStack[size - 1];

}

//empty判断栈是否为空

public boolean empty() {

return size == 0;

}

//search查找栈中第一出线的元素

public int search(Object obj) {

for(int i = size -1,j=1;i>=0;i--,j++){

if(myStack[i] == obj||myStack[i]!=null&&myStack[i].equals(obj)){

return j;

}

}

return -1;

}

@Override

public String toString() {

Object[] strstack = new Object[size];

System.arraycopy(myStack,0,strstack,0,size);

for(int i=size-1;i>=size/2;i--){

Object temp = strstack[i];

strstack[i] = strstack[size-i-1];

strstack[size-i-1] = temp;

}

return Arrays.toString(strstack);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值