过滤器设计?选择什么设计模式?

比如,我有一列数据123456789,
第一次我想实现保留等于3的数据;
第二次我想实现保留等于2和3的数据;
第三次我想实现保留等于2和3和4的数据;
第四次我想实现保留等于1和4和9的数据;
以上意思就是,我的过滤条件可能随时改变,我该怎么设计?

[code="java"]
public interface NumberFilter{
public boolean accept(int n);
}
[/code]

[code="java"]
public class A{
NumberFilter filter;
public void setFilter(NumberFilter filter){
this.filter=filter;
}
}
[/code]

大概就这意思吧。
我直接敲的代码,你自己调试。

我有个问题不解,竟然你已经知道需要保留的数据,为什么还费周折去过滤?你过滤的结果不就是需要过滤的数据吗?

呵呵,或许我没明白你的意思吧

可使用迭代模式和装饰模式结合,具体代码略