Java实现的stack pop方法小细节

精贴 置顶
816 0

前些天编小程序,写其中有一个自己实现的stack的pop如下:


    public class Stack{
  private ArrayList list;
  public Stack(){
  list = new ArrayList();
  }
  public T pop(){
  if(list.size != 0 ){
  T popOut = list.get(list.size - 1);
  remove(popOut);
  return popOut;
  }
  else{
  return null;
  }
  }
  }

  我当时在另一个类里debug,愣是找不出来,最后才发现这里的pop方法出问题了。当list是int数据时,若list为1,2,3,2;pop出来是2,但是list并不如想象中的为1,2,3;而是变成了1,3,2;这是因为double的equals方法认定只要值一样两者就一样,它popPut为2,接着remove(2);它在找到第一个2是就认为那已经匹配了,就把它删除,所以remove中应该用他的重载函数remove(list.size - 1).

  当然还应该注意若是int型的他优先将其认为是index而非数据

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012/6/25
.NET后台写JS代码 2011/11/3
网站地址多出jdfwkey的问题解析及... 2010/8/25
百度、google、Yahoo网站地图制作... 2011/1/30
数据库xxx的日志已满,请备份该数... 2013/7/19
<a>标签的伪类书写顺序问题... 2010/9/4
CEO名言 2010/8/31
什么是长尾关键词? 2010/9/24
Mysql 主从数据库同步 2010/9/12
用ASP实现网页BBS 2010/11/1
博主推荐
网站title标题如何正确修改不会被... 2013/8/26
ASP .NET MYSQL 的简单分页 并不... 2013/8/19
网站有弹窗广告这样的站点,百度... 2013/8/17
做淘宝SEO优化需要注意的8大问题 2013/8/17
淘宝网怎么做SEO优化 2013/8/17
站长们要学习的“苍井空精神” 2013/8/17
苹果公司今日发布了iOS 7第五个开... 2013/8/7
小米1刷V5系统WIFI不能连接解决办... 2013/8/1
本博客手机版上线咯!会员后台也... 2013/7/31
Win7系统环境安装配置PHP开发环境... 2013/7/29
随便看看
如何使用标签阻止网页被收录? 2010/9/30
Win2003不显示移动硬盘、U盘解决... 2013/11/23
浅析asp.net验证控件失效原因及解... 2013/7/19
讲讲我关掉一个克隆网站的亲自经... 2013/7/21
用ASP构建音乐服务器的方法 2010/11/1
浏览量、访问量 2010/10/2
XML Sitemap 相关问题 2010/9/26
Asp.net常用的51个代码(非常实用... 2010/12/10
.net获取网页来路的代码 2013/7/17
MySQL外键的设置及作用 2010/9/12
北京 上海 杭州 深圳 广州 成都