我有一个包含地图的数组。而且我想使用地图对象内的一些(多个)键和值来过滤我的数组。例如,WHERE ID > 1 AND Name <> "cc" (key > 1, Name<>"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"}]
任何人都可以帮忙吗?