Java----实现栈

 练习:

        设计一个栈类MyStack,用于存放对象,下面是它的UML图

测试类 

package bbb;

import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        Student student1=new Student("lili",20);
        MyStack myStack=new MyStack();
        System.out.println(myStack.isEmpty());
        myStack.push(student1);
        myStack.push(new Student("lucy",21));
        //将匿名对象入栈
        System.out.println(myStack.isEmpty());
        Student s = (Student) myStack.peek();
        //取出栈顶元素,弹出的是Object类型的元素,需要强制转换乘Student类型
        System.out.println(s.toString());//输出栈顶元素的信息
        /*
        toString()方法;每一个类都有,继承于Object类
        可以重写
        */
        System.out.println(myStack.getSize());//输出栈的长度
        myStack.pop();//将栈顶元素出栈
        s=(Student)myStack.peek();//获取栈顶元素
        System.out.println(s.toString());//输出栈顶元素的信息
        System.out.println(myStack.getSize());//获取栈的长度
        System.out.println(s.toString());
        myStack.pop();
        System.out.println(myStack.getSize());
    }
}

 MyStack类

package bbb;

import java.util.ArrayList;

public class MyStack {
    ArrayList<Object> list = new ArrayList<>();
    public boolean isEmpty(){
        return list.isEmpty();
    }
    public int getSize(){
        return list.size();
    }

    public Object peek(){
        return list.get(list.size()-1);
    }
    public Object pop(){
        Object o=list.get(list.size()-1);
        list.remove(list.size()-1);
        return o;
    }
    public void push(Object o){
        list.add(o);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值