背景

如有需要在内存进行搜索匹配,可以使用cqengine来对java的集合进行高效检索

maven

        <dependency>
            <groupId>com.googlecode.cqengine</groupId>
            <artifactId>cqengine</artifactId>
            <version>2.9.2</version>
        </dependency>

声明及初始化

IndexedCollection<Demo> demos = new ConcurrentIndexedCollection<Demo>();
demos.addAll(.....);

设置索引类型

import static com.googlecode.cqengine.query.QueryFactory.attribute;
final Attribute<Demo, String> NAME = attribute("name", Demo::getName);
reportItems.addIndex(SuffixTreeIndex.onAttribute(NAME));

搜索

import static com.googlecode.cqengine.query.QueryFactory.contains;
Query<Demo> query = contains(NAME,key);
ResultSet<Demo> resultSet = demos.retrieve(query);

doc


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...