Skip to content

Comment on Ask HN: Which are good LINQ equivalents in other languages?

Comments

In Java, the closest alternative that's part of the standard language is streams. Off the top of my head, it goes something like this:

List<Integer> numbers = number_list.stream().filter(number -> number > 3).collect(Collectors.toList())

boolean isTrue = Stream.of(boolean_array).anyMatch(Function.identity());

String checkForNull = Optional.ofNullable(some_xml).map(SomeXml::getSomeField).map(SomeField::GetSomeAttribute).orElse("nothing here");

Many other languages have similar mechanisms to the Java streams API. Scheme, and probably Lisp in general, is well known for it. Then we have Ruby, Crystal, Python, D, JavaScript...

I can't think of other languages that have something exactly like LINQ, though, unless you count SQL.

Not part of the standard library but querydsl is the closest to it in java.

But this lacks the compact syntax of LINC. I don't think there is a real equivalent in other languages (I don't know F#).

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.