在需要使用栈时,应使用LinkList 类来构件,不应使用Stack,因为Stack继承自Vector,包含方法elementAt(int indext),可以取得任意位置的对象,因此破坏了栈的机制.
可以使用LinkList 构建堆栈,和队列,方法如下:
堆栈:要点-->后进先出.
class MyStack{
private LinkedList linkList;
public MyStack(){
this.linkList = new LinkedList();
}
public Object pop(){
return linkList.removeLast();
}
public void push(Object obj){
linkList.addLast(obj);
}
public Object peek(){
return linkList.getFirst();
}
public boolean isEmpty(){
return linkList.isEmpty();
}
public int size(){
return linkList.size();
}
}
队列:要点-->先进先出.
class MyQueue{
private LinkedList linkList;
public MyQueue(){
this.linkList = new LinkedList();
}
public Object pop(){
return linkList.removeFirst();
}
public void push(Object obj){
linkList.addLast(obj);
}
public Object peek(){
return linkList.getFirst();
}
public boolean isEmpty(){
return linkList.isEmpty();
}
public int size(){
return linkList.size();
}
}
Properties类可以用来保存配置信息.需要注意的是无论文件的后缀名称是什么格式的如ini,txt,edi,etc..只要形式如下:
win.ini:
Author=Alan
version=1.2
使用Properites的load方法就能加载进来读取.另外System.getProperties将返回当前系统的所有属性。
Properties使用方法:
package com.jingcheng.base;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.Map.Entry;
public class PropertyTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Properties props = new Properties();
FileInputStream fis = new FileInputStream("win.prop");
props.load(fis);
Set sets = props.entrySet();
Iterator it = sets.iterator();
while(it.hasNext()){
Map.Entry mapEntry = (Map.Entry)it.next();
System.out.println("key:"+mapEntry.getKey());
System.out.println("value:"+mapEntry.getValue());
}
}