Re: [問題] 字串比較的問題
※ 引述《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
討論串 (同標題文章)