基于java设计实现查询条件过滤地图

基于java设计实现查询条件过滤地图,java,filter,Java,Filter,我有地图和每个关键我需要过滤列表。执行筛选时,我需要从列表中删除项目 我可以在地图上迭代并删除我想要的元素,但是,我还需要跟踪我删除的元素。我希望filter函数简单且仅为filter,在这种情况下,您将始终获得一个带有过滤值的映射。问题是,我如何知道哪些记录已被删除 我可以编写另一个函数来返回被丢弃的项,但这意味着我将在同一数据结构上迭代两次。或者我可以在过滤器中有变量来存储值,然后我可以检索,但这看起来很混乱。我还可以使用collectionUtils析取函数——另一个选项 是否有其他方法/

我有地图和每个关键我需要过滤列表。执行筛选时,我需要从列表中删除项目

我可以在地图上迭代并删除我想要的元素,但是,我还需要跟踪我删除的元素。我希望filter函数简单且仅为filter,在这种情况下,您将始终获得一个带有过滤值的映射。问题是,我如何知道哪些记录已被删除

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

是否有其他方法/设计模式可用于实现

看看这个 1.创建一个接口或集合以指示要保留的值。
2.创建filter函数来存储保留的值。您还可以存储丢弃的文件

,类似于审计跟踪。你们有API或示例代码来构建一个例子吗?目前我所拥有的只是一个映射迭代,若匹配条件保持数组列表条目,否则删除。返回过滤后的映射。我可以再次迭代映射,也可以使用ApacheCommonsAPI提供析取,返回已删除的元素。我不想使用api进行过滤,我想自己实现