package com.snow.basic;
import java.util.Collection;
import java.util.Iterator;
/**
* 实现对一个集合数据的过滤
*@author anwx
*@version
*/
public interface Predicate {
boolean evaluate(Object arg);
}
//下面的这个类使用Predicate来对集合中的数据实施过滤
class UsingPredicate{
public static Collection filter(Collection c, Predicate p) {
Iterator it = c.iterator();
while (it.hasNext()) {
if (!p.evaluate(it.next())) {
it.remove();
}
}
return c;
}
}
/**
* Integer 类型的predicate
*/
class IntegerPredicateImpl implements Predicate{
/**
* 如果arg是Integer类型的数据则,返回true否则返回false
*/
public boolean evaluate(Object arg) {
if(arg == null)return false;
else{
if(arg instanceof java.lang.Integer)
return true;
else
return false;
}
}
}