2
我有Map<String,List<Object>>
並且對於每個key
我需要篩選List<Object>
。執行過濾器時,我需要從List<Object>
中刪除項目。根據條件篩選地圖java設計實施查詢
我可以迭代地圖並移除我想要的元素,但是我還需要跟蹤已移除的元素。我希望過濾器功能很簡單,只需即可,過濾器,在這種情況下,您總是會獲得帶有過濾值的Map<String,List<Object>>
。問題是,我怎麼知道哪些記錄已被刪除?
我可以編寫另一個函數來返回被丟棄的項目,但這意味着我將在相同的數據結構上迭代兩次。或者我可以在過濾器中存儲變量,然後存儲值(然後我可以檢索),但看起來很亂。 (我也可以使用collectionUtils分離功能 - 另一種選擇)
是否有其他方式/設計模式,我可以用於實現?
類似審計線索。你有API或示例代碼來構建一個例子嗎? –
我現在所有的都是一個地圖迭代,如果匹配條件保持數組列表條目,否則刪除。返回過濾後的地圖。我可以再次迭代地圖,或者使用apache commons api來給出分隔符(它返回被刪除的元素)。我想要使用api進行過濾,想自己實現這一點 –