⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calllist.java

📁 一个电梯模拟程序
💻 JAVA
字号:
package lift.component.data;

import lift.component.type.Floor;
import java.util.ArrayList;

public class CallList {
    private ArrayList<Floor> firstList;
    private ArrayList<Floor> bufferList;
    
    /** Creates a new instance of CallList */
    public CallList() {
        firstList = new ArrayList<Floor>();
        bufferList = new ArrayList<Floor>();
    }
    
    public String toString(){
        StringBuffer string = new StringBuffer();
        string.append("First:");
        for(Floor f:firstList){
            string.append(" "+f.toString()+";");
        }
        string.append("\n");
        string.append("Buffer:");        
        for(Floor f:bufferList){
            string.append(" "+f.toString()+";");
        }        
        
        return string.toString();
    }
    
    public synchronized boolean isEmpty(){
        return isFirstEmpty() & isBufferEmpty();
    }
    
    public synchronized boolean isFirstEmpty(){
        if(firstList.size()==0) {
            return true;
        }
        return false;
    }
    
    public synchronized boolean isBufferEmpty(){
        if(bufferList.size()==0) {
            return true;
        }
        return false;
    }
    
    public synchronized void swapList(){
        ArrayList<Floor> tempList;
        
        tempList = firstList;
        firstList = bufferList;
        bufferList = tempList;
    }
    
    public synchronized boolean removeFirstElement(Floor f) {
        return firstList.remove(f);
    }
    
    public synchronized Floor getFirstElement() {
        if(firstList.size()==0)
            return null;
        return firstList.get(0);
    }
    
    public synchronized void addToFirstOrderAZ(Floor tf) {
        Floor f;
        for(int i=0; i<firstList.size(); i++){
            f = firstList.get(i);
            if(tf.ordinal()==f.ordinal())
                return;
            else if(tf.ordinal()<f.ordinal()){
                firstList.add(i,tf);
                return;
            }                
        }
        firstList.add(tf);
    }
    
    public synchronized void addToFirstOrderZA(Floor tf) {
        Floor f;
        for(int i=0; i<firstList.size(); i++){
            f = firstList.get(i);
            if(tf.ordinal()==f.ordinal())
                return;
            else if(tf.ordinal()>f.ordinal()){
                firstList.add(i,tf);
                return;
            }                
        }
        firstList.add(tf);
    }
    
    public synchronized void addToBufferOrderAZ(Floor tf) {
        Floor f;
        for(int i=0; i<bufferList.size(); i++){
            f = bufferList.get(i);
            if(tf.ordinal()==f.ordinal())
                return;
            else if(tf.ordinal()<f.ordinal()){
                bufferList.add(i,tf);
                return;
            }                
        }
        
        bufferList.add(tf);
    }
    
    public synchronized void addToBufferOrderZA(Floor tf) {
        Floor f;
        for(int i=0; i<bufferList.size(); i++){
            f = bufferList.get(i);
            if(tf.ordinal()==f.ordinal())
                return;
            else if(tf.ordinal()>f.ordinal()){
                bufferList.add(i,tf);
                return;
            }                
        }    
        bufferList.add(tf);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -