condition.java

来自「2004年robotcup世界冠军源代码」· Java 代码 · 共 51 行

JAVA
51
字号
// Copyright (C) 2002 Takeshi Morimoto <morimoto@takopen.cs.uec.ac.jp>// All rights reserved.package yab.agent;import java.util.*;//saeed 85-2-3public abstract class Condition {    public abstract boolean eval(Object obj);    public ArrayList extract(Collection col) {        ArrayList result = new ArrayList();        for (Iterator it = col.iterator();  it.hasNext();  ) {            Object obj = it.next();            if (eval(obj))                result.add(obj);        }        return result;    }    public Condition and(final Condition rhs) {        final Condition lhs = this;        return new Condition() {                public boolean eval(Object obj) {                    return lhs.eval(obj) && rhs.eval(obj); }};    }    public Condition or(final Condition rhs) {        final Condition lhs = this;        return new Condition() {                public boolean eval(Object obj) {                    return lhs.eval(obj) || rhs.eval(obj); }};    }    public Condition not() {        final Condition cond = this;        return new Condition() {                public boolean eval(Object obj) { return !cond.eval(obj); }};    }    public ArrayList extractMAR(Collection col) {        ArrayList result = new ArrayList();        for (Iterator it = col.iterator();  it.hasNext();  ) {            Object obj = it.next();            if (eval(obj))            {                result.add(obj);                it.remove ();            }        }        return result;    }}

⌨️ 快捷键说明

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