1. package hashMap;
  2. import java.util.ArrayList;
  3. import d.Student;
  4. /**
  5. * 用ArrayList模拟栈操作
  6. * @author zhujiabin
  7. * @see 2016年7月14日
  8. */
  9.  
  10. public class Stack
  11. {
  12. ArrayList<Student> al=new ArrayList<Student>();
  13. public Object peek()
  14. {
  15. return al.get();
  16. }
  17. public Object pop()//出栈
  18. {
  19. return al.remove(al.size()-);
  20. }
  21. public void push(Student o)//进栈
  22. {
  23. al.add(o);
  24. }
  25. public void clear()//将栈置空
  26. {
  27. al.clear();
  28. }
  29. public boolean isEmpty()//判断栈是否是空
  30. {
  31. if(al.isEmpty())
  32. {
  33. return true;
  34. }
  35. else
  36. {
  37. return false;
  38. }
  39. }
  40. public Object getIndex(int i)//返回指定下标出的值
  41. {
  42. return al.get(i);
  43. }
  44. }

测试:

  1. package hashMap;
  2. import d.Student;
  3. /**
  4. * 用ArrayList模拟栈操作
  5. * @author 郑云飞
  6. * @see 2010年8月14日
  7. */
  8. public class StackTest
  9. {
  10. public static void main(String[] args)
  11. {
  12. Stack s1=new Stack();
  13. s1.push(new Student("庄子",));
  14. s1.push(new Student("老子",));
  15. s1.push(new Student("梦子",));
  16. s1.push(new Student("荀子",));
  17. while(!s1.isEmpty())
  18. {
  19. System.out.println(s1.pop());//出栈输出内容
  20. }
  21.  
  22. }
  23. }
  24.  
  25. package hashMap;
  26. /**
  27. * 用ArrayList模拟栈操作
  28. * @author zhujiabin
  29. * @see 2016年7月14日
  30. */
  31. public class Student
  32. {
  33. String name;
  34. int age;
  35. public Student(String name,int age)
  36. {
  37. this.name=name;
  38. this.age=age;
  39. }
  40. public String toString()
  41. {
  42. return "姓名:" +name+"年龄:"+age;
  43. }
  44. }

第一回写的用arraylist模拟栈操作的更多相关文章

  1. c语言学习,模拟栈操作

    1.stack.c模拟栈操作函数的实现 #include<stdio.h> #include<stdlib.h> ; static char *stack;//数据栈 ;//栈 ...

  2. java:模拟栈操作

    import java.util.ArrayList; public class MyStack { private ArrayList<Object> arrayList; public ...

  3. hdu 4699 Editor 模拟栈

    思路:刚开始用STL中的栈,一直RE……,之后改为手动模拟栈操作,在注意点细节就可以了!!! 代码如下: #include<cstdio> #include<cstring> ...

  4. 想写个小说,关于C#的,名字就叫《原Csharp》吧 (第一回 买书未成炁自生 惶惶回屋遇老翁)

    以前也有写过一些小说,但是总是写写停停的,因为忙于项目和其他事情,总是耽搁很久(真的是很久)才会继续动两笔,所以我想先在这里以随笔的方式写个关于C#异世界的小故事吧,更新随缘,也稍微能让自己轻松些. ...

  5. KEILC51可重入函数及模拟栈浅析

    MARK:文章中的红色部分是个人的理解. KEILC51可重入函数及模拟栈浅析 关键字:keilc51,模拟堆栈,可重入函数调用,参数传递,C?XBP,C?ADDXBP 摘要:本文较详细的介绍了kei ...

  6. Page Cache与Page回写

    综述 Page cache是通过将磁盘中的数据缓存到内存中,从而减少磁盘I/O操作,从而提高性能.此外,还要确保在page cache中的数据更改时能够被同步到磁盘上,后者被称为page回写(page ...

  7. ACM/ICPC 之 用双向链表 or 模拟栈 解“栈混洗”问题-火车调度(TSH OJ - Train)

    本篇用双向链表和模拟栈混洗过程两种解答方式具体解答“栈混洗”的应用问题 有关栈混洗的定义和解释在此篇:手记-栈与队列相关 列车调度(Train) 描述 某列车调度站的铁道联接结构如Figure 1所示 ...

  8. 《Linux内核设计与实现》读书笔记(十六)- 页高速缓存和页回写

    好久没有更新了... 主要内容: 缓存简介 页高速缓存 页回写 1. 缓存简介 在编程中,缓存是很常见也很有效的一种提高程序性能的机制. linux内核也不例外,为了提高I/O性能,也引入了缓存机制, ...

  9. Volley使用指南第一回(来自developer.android)

    最近闲来想看看android网络方面的东西.google在2013年发布了一个叫做Volley的网络请求框架,我看了一下官网,居然在training里面就有教程.首先,英文的东西看着 还是挺不爽的,特 ...

随机推荐

  1. 转:四种方案解决ScrollView嵌套ListView问题

    转载自:http://blog.sina.com.cn/s/blog_46798aa80101lxbk.html 原始的连接已经不知道是哪里了,项目中遇到了同样的问题,花了一下午都没有想到是嵌套引起的 ...

  2. ios Objective-C的动态特性

    这是一篇译文,原文在此,上一篇文章就是受这篇文章启发,这次干脆都翻译过来. 过去的几年中涌现了大量的Objective-C开发者.有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语 ...

  3. 页面嵌套 Iframe 产生缓存导致页面数据不刷新问题

    最近遇到个比较古怪的问题:当页面嵌套多个 Iframe 时会出现 Iframe 里包含的页面无法看到最新的页面信息. 初步解决方案,在 Iframe 指向的页面地址后缀添加一个随机数或者时间戳.这样能 ...

  4. 什么是NSTimer

    本文主要是介绍什么是NSTimer,具体使用请参考上一篇博客. 1.什么是NSTimer? NSTimer就是timer就是一个能在从现在开始的后面的某一个时刻或者周期性的执行我们指定的方法的对象. ...

  5. OS X EL Capitan安装Cocoapods 报错ERROR

    升级OS X EL Capitan10.11之后,原来的pod不能用了,重新安装cocoapods,发现 在运行 “sudo gem install cocoapods” 的时候出现问题: ERROR ...

  6. 01_JavaMail_05_创建邮件工具类MailUtils等方便发送邮件

    [工程截图] [代码实现] [Mail.java] package com.Higgin.Utils; import java.util.ArrayList; import java.util.Lis ...

  7. HDU 1176 免费馅饼(数字三角形)

    免费馅饼 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉 ...

  8. (CodeForces )540B School Marks 贪心 (中位数)

    Little Vova studies programming to p. Vova is very smart and he can write every test for any mark, b ...

  9. unsigned int 转 RGB

    unsigned int颜色存储格式:0xaabbggrr,其中a,b,g,r分别表示,透明度.蓝色.绿色.红色. 方法一:使用windows宏 unsigned int clr = 0x00FF00 ...

  10. EF初始化mysql数据库codefirst

    EF使用Code First修改生成数据库表名的方法 1. 重写OnModelCreating,去掉表名复数 System.Data.Entity.ModelConfiguration.Convent ...