Java实现的stack pop方法小细节

精贴 置顶
1648 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而非数据

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

···

···

···

热门排行
用ASP实现网页BBS 2010-11-01
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
ARP病毒解决办法 2010-09-07
子域名和子目录 2010-10-03
在ASP.NET中清除页面状态 2013-11-15
IE6 BUG大全 2010-08-31
JQuery为元素添加样式 2014-03-08
Java中Robot类的使用方法介绍 2013-06-24
几大搜索引擎的网站登录入口 2010-10-04
《请给我结果》读后感 2013-10-06
用文本+ASP打造新闻发布系统 2010-11-03
将硬盘或分区转换为 NTFS 格式的... 2013-06-24
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都