import java.util.Stack;
public class ChartKeyManager {
//最多只有4个图
private static final int number = 4;
private static ChartKeyManager manager = null;
private Stack<Integer> unusedStack = null;
private ChartKeyManager(){
unusedStack = new Stack<Integer>();
init();
}
private void init(){
for( int id = number; id > 0; --id ){
unusedStack.add(Integer.valueOf(id));
}
}
public static ChartKeyManager getInstance(){
if (null == manager){
manager = new ChartKeyManager();
}
return manager;
}
/**
* 取得一个未使用的ID,如果没有未被使用的ID,返回null
* @return
*/
public Integer useOneCompositeID(){
if (!unusedStack.isEmpty()){
return unusedStack.pop();
}
return null;
}
/**
* 返还一个ID,这个ID恢复为可使用的ID
*/
public void unuseOneCompositeID(Integer id){
unusedStack.add(id);
}
public void clearAllUsedID(){
unusedStack.clear();
init();
}
Stack类的简单应用
最新推荐文章于 2022-04-28 15:31:17 发布