栈的特点:先进后出,所有的内容从栈顶取出,之后每次新增加的内容都保存栈顶之中。
Stack定义:
public class Stack<E> extends Vector<E>
入栈:public E push(E item)
出栈:public E pop()
import java.util.*;
public class StackDemo {
public static void main(String args[])
{
Stack<String> s=new Stack<String>();
s.push("A");
s.push("B");
s.push("C");
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
}
}
二,属性操作
在java中提供了一个属性文件的专门操作类:Properties
此类是Hashtable的子类,所有属性都是以字符串的形式出现,所以不要加入任何其他非String对象,此类常用方法如下:
public Object setProperty(String key,String value):设置属性
public Object getProperty(String key):取得属性
public Object getProperty(String key,String defaultValue):取得属性,如果属性不存在则返回默认值
public void list(PrintStream out):输出全部的属性
public void store(OutputStream out,String comments) throws IOException:将属性内容保存在普通文件之中
public void storeToXML(OutputStream os,String comment)throws IOException:以XML文件的形式存放属性内容
public void load(InputStream inStream) throws IOException:从普通文件中读取属性
public void loadFromXML(InputStream in):从普通xml文件中读取属性
import java.io.*;
import java.util.Properties;
public class PropertiesDemo {
public static void main(String argsp[])
{
Properties pro=new Properties();
pro.setProperty("bj", "beijing");
pro.setProperty("nj", "nanjing");
System.out.println(pro.getProperty("bj"));
System.out.println(pro.getProperty("wh", "没有该属性"));
//将属性保存在普通文件中,修改文件后缀名为.properties
try {
pro.store(new FileOutputStream("d:"+File.separator+"demo.properties"), "Area Info");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//从文件中读取属性
try {
pro.load(new FileInputStream("d:"+File.separator+"demo.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//还可以将属性的内容保存在一个XML文件格式之中
try {
pro.storeToXML(new FileOutputStream("d:"+File.separator+"demo.XML"), "Area Info");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}