【发布时间】:2017-10-16 07:42:41
【问题描述】:
我有一个包含 Map 的数组。而且我想使用地图对象内的一些(多个)键和值来过滤我的数组。例如,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"}]
有人可以帮忙吗?
【问题讨论】:
标签: java android guava android-guava