我有一個包含地圖的數組。我想用地圖對象中的一些(多個)鍵和值來過濾我的數組。例如,WHERE ID> 1和名稱<>「cc」(鍵> 1,名稱<>「cc」)。如何使用番石榴過濾具有多個值的地圖陣列
我如何能做到這一點在Java中? 我已經導入了具有Collections2的Guava庫來過濾數組。 但是,我沒有發現任何正在過濾數組內的Map對象的例子。
這裏是我的一些示例代碼:
List<Map<String, Object>> baseList = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("ID", 1);
map1.put("Name", "aa");
baseList.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("ID", 2);
map2.put("Name", "bb");
baseList.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("ID", 3);
map3.put("Name", "cc");
baseList.add(map3);
List<Map<String, Object>> filteredList = new ArrayList<>();
filteredList = Collections2.filter() ???
我想用一種ID >= 1 AND NAME<>"cc"
這將導致包含Map對象這樣的陣列進行過濾:[{ID=1,Name="aa"}, {ID=2,Name="bb"}]
任何人都可以幫助嗎?
您對Collections2.filter()的解釋對我很好解釋。謝謝 –