I tried guava-libraries from google. It has a FluentIterable which I think is close to LINQ. Also see FunctionalExplained.
List parts = new ArrayList(); // add parts to the collection.
FluentIterable partsStartingA =
FluentIterable.from(parts).filter(new Predicate() {
@Override
public boolean apply(final String input) {
return input.startsWith("a");
}
}).transform(new Function() {
@Override
public Integer apply(final String input) {
return input.length();
}
});
Seems to be an extensive library for Java. Certainly not as succinct as LINQ but looks interesting.