3
A
回答
5
你可能会喜欢Quaere,这是为Java对象图相当丰富的查询语言:
Integer[] numbers={5, 4, 1, 3, 9, 8, 7, 2, 0};
Iterable<Integer> lowNumbers=
from("n").in(numbers).
where(lt("n",5).
select("n");
3
是和否。
不,没有SQL语法。
是的,带过滤函子。特别是,查看Apache Commons Collections CollectionsUtils.filter()函数,该函数将Predicate对象应用于集合。
您编写谓词,Apache类负责其余部分。
4
没有标准的SQL语言,但apache commons collections has a filter方法,将做你想做的。不要太难推出自己的,
public <T> Collection<T> filter (Collection<T> c, Condition<T> condition) {
ArrayList<T> list = new ArrayList<T>():
for (T t: c){
if (condition.isSatisfied(t)) { list.add(t); }
}
return list;
}
public interface Condition<T> {
public boolean isSatisfied(T t);
}
1
有很多解决方案可以做到这一点,利用XPath或XQuery。初学者请看Jaxen。
3
规范的方法是迭代数据结构并将所需的对象插入到新的对象中。不幸的是,Java没有列表理解或一流的功能。但是,我们可以使用库像Functional Java模拟他们:
import fj.F;
import fj.data.List;
import static fj.data.List.list;
import static fj.pre.Show.listShow;
import static fj.pre.Show.stringShow;
List<String> myList = list("one", "two", "three").filter(
new F<String, Boolean>() {
public Boolean f(String s) {
return s.contains("e");
}
});
listShow(stringShow).print(myList);
,将打印["one", "three"]
到标准输出。
0
一个相当极端的解决办法可能是使用某种类型的ORM映射您的Java对象为实际的SQL数据库,然后使用实际的SQL或类似Hibernate的HQL的SQL语言来精确查询您的对象。
当然,我只会认真考虑,如果我实际上计划将对象保留在数据库中,否则它是过度杀伤。
相关问题
- 1. IPv6查询数据结构
- 2. 数据库结构查询
- 3. Java数据结构
- 4. Java数据结构
- 5. coldfusion结构语法和查询数据
- 6. Sql数据库查询/结构
- 7. 查询关于java中的数据结构
- 8. HiveSQL:查询结构数组
- 9. 数据库结构和查询层次数据和数据
- 10. Java对象 - 数据结构
- 11. 结构java树型数据
- 12. 数据结构用java
- 13. Java数据结构参考
- 14. Java Tree数据结构
- 15. 的Java HasMap数据结构
- 16. Java游戏数据结构
- 17. Trie数据结构 - Java
- 18. 难看Java数据结构
- 19. Java数据结构暗示
- 20. Java数据结构表示
- 21. 在数据库中搜索结构化数据(全文+查询)
- 22. 设计数据结构/ Java数据结构
- 23. PHP查询结构
- 24. DNS查询结构
- 25. Sql查询结果结构
- 26. MySQL数据库结构(架构)咨询
- 27. 使用GraphQL结构来构建复杂的数据库查询
- 28. 奇怪的数据结构返回查找查询
- 29. SQL查询子查询结构
- 30. Java和数据库查询?