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 NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
方法一:
若使用JBuilder7,步骤如下: 1、首先建立工程,Application。这些就不需要详细说明。 2、选择菜单Wizards下的archive Builder 3、在archive type中选择Application 4、在Name选项中给可执行程序起名,其他选项默认 5、包含进该工程中所有的类和资源 6、含类库中所有的类和资源 7、下面两步默认 8、 ......
http://www.ruijie.cc/Job_Info.php?id=142
职位描述 :
负责南京项目的开发、维护。
任职要求 :
1、3~5年工作经验
2、JSP,structs 基础扎实
3、JavaScript脚本熟悉
4、SQL语句熟悉
5、了解Ajax基本概念和实践经验。
6、熟悉掌握Java开源框架SSH(Spring、Struts、Hibernate)
5、做过工作流项目( ......
我现在是大三的学生,我在暑假开始接触Java web编程,现在差不多学了有半年了吧。那时Java自己一点了不懂,记得上网页设计老是提起jsp,是第一次接触到Java。从那时自己就在图书馆借阅关于Java的书籍。暑假和几个同学也参加了一个关于web编程的比赛,那时我们四人每天都在实验室中做比赛的题目。
......
package dtm.tools;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Calendar;
import java.util.Dat ......