学过数据结构已经几年了,但是一直都没有用语言来具体的实现。最近,感觉没啥事就想用JAVA实现下,没想到还遇到了不少问题。
首先,最简单的是实现链表,但是实现过后发现如果把程序RUN一次的话,上次的链表就没了。所以要把具体的链表给存到文件中去。其中一个方法就是运用Serialiable接口(java.io),让类实现这个接口。比如public class Link_list implements Serializable{},然后就可以对这个类进行写文件操作了。
public void writeList(Link_list l){
try{
FileOutputStream fs=new FileOutputStream("D:/My Documents/van.ser");//.ser是文件后缀名,也可以是.txt
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(l);
os.close();
}catch(Exception e){
e.printStackTrace();
}
}
同样的逆操作是把存入的文件读出来,例如:
public Link_list readFile(){
ObjectInputStream oi;
Link_list l=null;
try{
FileInputStream fi=new FileInputStream("D:/My Documents/van.ser");
oi=new ObjectInputStream(fi);
l=(Link_list)oi.readObject();
oi.close();
}catch(Exception e){
e.printStackTrace();
}
return l;
}
当然只能读出Link_list类型的数据(不可能存进去苹果拿出来就是橘子了!)