För .Net språken har det funnits något som kallas LINQ, Language Integrated Query. Jag har aldrig brytt mig om att kolla upp vad det är, men så såg jag att en norrman (?) med namnet Anders Norås har släppt Quaere, vilket är en Java implementation med samma funktionalitet. Ett coolt exempel:
The following query uses a compound from clause to select all pairs of numbers from two arrays such that the number from numbersA is less than the number from numbersB:
Integer[] numbersA = {0, 2, 4, 5, 6, 8, 9};
Integer[] numbersB = {1, 3, 5, 7, 8};
Iterable<Variant> pairs =
from("a").in(numbersA).
from("b").in(numbersB).
where(lt("a", "b")).
select(
create(
property("a"),
property("b")
)
);