看板 java 關於我們 聯絡資訊
※ 引述《qrtt1 (愚人)》之銘言: : 用 Hash 是個好方法 :P [...] : ============================================================ : // 寫個 invoker : // 所有的 command instance 要加在 hash set 之內 : import java.util.HashSet; : import java.util.Iterator; : import java.util.Set; : public class Invoker { : Set s; : public Invoker(HashSet s) { : this.s = s; : } : public void doIt(String cmd) { : for (Iterator it = s.iterator(); it.hasNext();) { : final AbstractCommand c = (AbstractCommand) it.next(); : if (c.toString().equals(cmd)) { : c.execute(); : break; : } : } : } : } : ============================================================ [...] 這邊仍然使用了iterator, 循序檢查, 花費時間 O(n) 如果改用Jump table, 或是Event trigger, 將可縮短花費時間 O(1) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.62.227