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和數據庫查詢?