- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们是否有一些 IBM pureQuery 的开源替代品来查询 Java 集合框架的内存中集合或复合 Java 对象?
最佳答案
正如我在评论中提到的,我不完全确定我理解你的问题:我不确定你是否在问是否有 pureQuery 的 OSS 替代品以及 pureQuery 是否适用于 Java 集合框架的内存 DS ,如果您想要一个适用于内存集合的 OSS 替代方案,特别是 Java 集合框架。
但是,我会试一试...
如果您正在寻找用于与持久层进行基于查询的交互的开源软件,显而易见的解决方案非常简单:
请注意,这些也可以用于内存数据库(如 H2 或 HSQLDb)。
但是,如果你想查询集合,有几个项目,比如:
the java Query Language (JQL)语言扩展:
ArrayList<String> words = dict.getWords(Puzzle.MEDIUM);
ArrayList<Integer> gaplengths = puzzle.getGapLengths();
List<Object[]> matches = selectAll(
String w : words,
Integer i : gaplengths | w.length() == i);
the Stack-Based Query Language for Java (sqbl4j)语言扩展:
List<Product> products = getProductList();
List<Product> expensiveInStockProducts = #{
products
where unitsInStock > 0 and unitPrice > 3.00
};
List myObjs = getMyObjects ();
Query q = new Query ();
q.parse ("SELECT * FROM java.io.File WHERE name LIKE '%.java'");
QueryResults qr = q.execute (myObjs);
List res = qr.getResults ();
jxpath ,对于使用 XPath 表达式的不同方法:
Address address = (Address)JXPathContext
.newContext(vendor)
.getValue("locations[address/zipCode='90210']/address");
Java 的函数式编程库提供了类似的功能,因为它们使您可以访问基本的函数式构造 filter
、map
、collect
, transform
等...例如,使用:
Set<String> strings = buildSetStrings();
Collection<String> filteredStrings =
Collections2.filter(strings, Predicates.containsPattern("^J"));
Array<Integer> a = array(97, 44, 67, 3, 22, 90, 1, 77, 98, 1078, 6, 64, 6, 79, 42);
final Array<Integer> b = a.filter(even);
LambdaJ :
// with normal interfaces:
List<Person> buyersSortedByAges = sort(
extract(
select(sales, having(on(Sale.class).getValue(), greaterThan(50000)))
), on(Sale.class).getBuyer()
), on(Person.class).getAge());
// with fluent/chainable intefaces:
List<Person> buyersSortedByAges = with(sales)
.retain(having(on(Sale.class).getValue(), greaterThan(50000)))
.extract(on(Sale.class).getBuyer())
.sort(on(Person.class).getAge());
或者您可能只是在 querying in-memory collections with pureQuery 上寻找本教程?
关于java - IBM purequery 是否有任何有效的开源替代方案来查询内存中的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990632/
去年(2023年)年底我初学flutter,看了一些文档和教程,想找个东西*练练手。 小时候看过一个关于历史名人儿时事迹的短片,有一集是讲*总理的,有一个细节我记得很清楚:幼年***经常要做一个游戏
今天给大家分享一个我做的小工具,可以自定义扩展右键菜单的功能来提高工作效率,效果图如下: image 如上图,右键菜单多了几个我自定义的菜单
书接上回,今天继续和大家享一些关于枚举操作相关的常用扩展方法。 今天主要分享通过枚举值转换成枚举、枚举名称以及枚举描述相关实现。 我们首先修改一下上一篇定义用来测试的正常枚举,新增一个枚举项,
今天和大家享一些关于枚举操作相关的常用扩展方法。 我们平时用的比较多的是正常枚举,同时还有加[Flags]特性的位标志枚举,因此以下所有扩展方法同时适用正常枚举以及位标志枚举。 我们首先定义两
书接上回,我们继续来分享一些关于特殊时间获取的常用扩展方法。 01、获取当前日期所在月的第一个指定星期几 该方法和前面介绍的获取当前日期所在周的第一天(周一)核心思想是一样的,只是把求周一改成
书接上回,我们继续来分享一些关于特殊时间获取的常用扩展方法。 01、获取当天的开始时间 当天的开始时间指00:00:00时刻,因此只需要获取DateTime的Date属性只获取时间即可,具体代
书接上回,我们继续来分享一些关于时间转换的常用扩展方法。 01、时间转日期时间 TimeOnly 该方式是把TimeOnly类型转为DateTime类型,其中日期部分使用系统当前日期,时间部分
从事软件开发这么多年,平时也积累了一些方便自己快速开发的帮助类,一直在想着以什么方式分享出来,因此有了这个系列文章,后面我将以《开源-Ideal库》系列文章分享一些我认为比较成熟、比较方便、比较好的代
任何人都可以建议我应该使用什么程序/方法? 我需要有一个像谷歌地图这样的 map ,我可以在其中显示 map 、添加标记多边形等。 但是我不能依赖这样的在线服务,因为客户担心这样的服务会消失,我们的系
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 11年前关闭。 Improve this qu
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
您知道 EDA(电子设计自动化)领域有哪些开源项目正在寻找 C++ 程序员吗? 最佳答案 如果您经常关注 gEDA 的邮件列表,您也许能够加入 gEDA。详情:http://www.gpleda.or
如果现有Hadoop群集上有10个数据节点,则可以在4个或6个数据节点上安装NiFi吗? NiFi的主要目的是每天将数据从RDBMS加载到高容量的HDFS。 数据节点将配置为具有100 GB的高RAM
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
Closed. This question is off-topic。它当前不接受答案。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
【Github源码】 《上一篇》 介绍了Xmtool工具库中的图形验证码类库,今天我们继续为大家介绍其中的扩展动态对象类库。 扩展动态对象是整个工具库中最重要的一个设计。
【Github源码】 《上一篇》 介绍了Xmtool工具库中的Web操作类库,今天我们继续为大家介绍其中的图形验证码类库。 图形验证码是为了抵御恶意攻击出现的一种设计;例如用
我是一名优秀的程序员,十分优秀!