java实现的stack pop方法小细节
前些天编小程序,写其中有一个自己实现的stack的pop如下:
public class Stack<T>{
private ArrayList<T> list;
public Stack(){
list = new ArrayList<T>();
}
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而非数据。
相关文档:
最近在找工作,基本都是java开发的方向,很多笔试、面试题都是围绕String类对象展开的,花样很多,但是万变不离其中,掌握了基本的原理,无论怎么变,实质都是一样的。下面总结一下关于String的基本知识点:
(一)String是final的
可能我们很多人遇到过这个问题final关键字有什么作用,其中一个回答就是final修饰 ......
1.1.字符
x 字符 x。例如a表示字符a
\\ 反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次)
\0n 带有八进制值 0的字符 ......
什么是URI
Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通
用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
URI一般由三部分组成:
访问资源的命名机制。
存放资源的主机名。
资源自身的名称,由路径表示。
考虑下面的URI,它表示了当前的HTML ......
java获得windows系统时间有误的解决方案
今天遇到了一个很奇怪的问题,就是利用获取系统当前时间的时候,总是与实际的时间相差8个小时,十分郁闷。
无论是使用
&n ......