根据条件java设计实现查询

时间:2015-05-04 10:16:47

标签: java filter

我有Map<String,List<Object>>,对于每个key,我需要过滤List<Object>。执行过滤器时,我需要从List<Object>中删除项目。

我可以迭代地图并删除我想要的元素,但是我还需要跟踪我删除的元素。我希望过滤器功能简单,只需 过滤器,在这种情况下,您总是会得到带有过滤值的Map<String,List<Object>>。问题是,我怎么知道哪些记录已被删除?

我可以写另一个函数来返回被丢弃的项,但这意味着我会在同一个数据结构上迭代两次。或者我可以在过滤器中有变量来存储值(然后我可以检索),但这看起来很乱。 (我也可以使用collectionUtils析取函数 - 另一个选项)

我可以使用其他方式/设计模式来实施吗?

1 个答案:

答案 0 :(得分:0)

看看这个post
1.创建一个接口(或一组)以指示要保留的值。
2.创建过滤器函数以存储保留的值。 (你也可以存放丢弃的那些)