java - 查询内存中的集合

标签 java collections

我有一个集合,一个 map 列表, map 是Map<String, String> .我需要通过比较、逻辑等方式查询此集合,而不是在运算符中。类似于 SQL。

我将从数据库存储过程中填充列表,所以我不确定大小。但是,我想大小应该不会超过 10,000 条记录。

在发布这篇文章时,我正在查看 Apache 仿函数,我不知道他们是否会在这里提供帮助。

我正在考虑的其他方法是使用内存数据库 Derby 来实现这一点。

请让我知道任何 Java 库或任何其他执行此操作的方法。

列表中的 map 如下所示:

Map<String, String> m1 = new Map<String, String>();
m1.put("name","Mark");
m1.put("age","21");
m1.put("city","some city");

Map<String, String> m1 = new Map<String, String>();
m1.put("name","David");
m1.put("age","25");
m1.put("city","other city");

我需要查询列表以获取具有以下内容的 map :

  1. name=Mark
  2. name=Mark and age > 30
  3. city not in "other city"

最佳答案

看看CQEngine - Collection Query Engine .

作为作者,我有偏见,但与依赖迭代和过滤的方法相比,它的性能和扩展性更好。

它提供了 java.util.Set (IndexedCollection) 的实现,允许基于(任意复杂的)查询对象的属性来检索对象。

关于java - 查询内存中的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10804825/

相关文章:

java - 为什么在创建迭代器对象后无法向 java 中的 ArrayList 添加值

java - CPLEX 最小化分段线性函数

java - 用 HashMap 进行反射

java - Mockito,测试依赖注入(inject)依赖项的对象(Spring)?

java - 如何验证 selenium Web 驱动程序中类属性中的图像

java - Android context.getResources.updateConfiguration() deprecated 如何解决?

Java 集合泛型 <?扩展 Employee> 抛出异常

rest - REST API 中的空子资源应使用哪个 HTTP 代码?

Scala Map vs HashMap

ios - 使用自定义布局的 UICollectionViewCell 高度