anweixiao 发表于 2013-2-4 23:43:05

Add a filter to Collection

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;
  }
 } 
}
页: [1]
查看完整版本: Add a filter to Collection