| C# LINQ | Java (Streams) | Swift | PHP | Perl | Kotlin | Python | Ruby | JavaScript |
|---|---|---|---|---|---|---|---|---|
Where |
.filter() |
.filter {} / .where {} |
array_filter() |
grep {} |
.filter {} |
filter(lambda x: ...) |
.select {} |
.filter(x => ...) |
Select |
.map() |
.map {} |
array_map() |
map {} |
.map {} |
map(lambda x: ...) |
.map {} |
.map(x => ...) |
First |
.findFirst().get() |
.first or first(where:) |
reset(array_filter(...)) |
first {} (via List::Util) |
.first() |
next(iter(...)) |
.first or .find {} |
.find(x => ...) |
FirstOrDefault |
.findFirst().orElse(null) |
.first(where:) ?? nil |
array_values(...)[0] ?? null |
first {} or manual check |
.firstOrNull() |
next(iter(...), None) |
.find {} or ` |
|
Any |
.anyMatch() |
.contains {} / .any(where:) |
!empty(array_filter(...)) |
any {} |
.any {} |
any(...) |
.any? {} |
.some(x => ...) |
All |
.allMatch() |
.allSatisfy {} |
count(filter) == count(...) |
all {} |
.all {} |
all(...) |
.all? {} |
.every(x => ...) |
Count |
.count() |
.count |
count() |
scalar(@array) or grep {} |
.count() |
len(...) |
.count |
.length or .size |
OrderBy |
.sorted() |
.sorted {} |
usort() |
sort {} |
.sortedBy {} |
sorted(...) |
.sort_by {} |
.sort((a, b) => ...) |
OrderByDescending |
.sorted(Comparator.reverseOrder()) |
.sorted(by: >) |
usort() with reverse |
reverse sort |
.sortedByDescending {} |
sorted(..., reverse=True) |
.sort_by(...).reverse |
.sort(...).reverse() |
GroupBy |
Collectors.groupingBy() |
Manual via Dictionary | Manual loop | List::Util::group_by |
.groupBy {} |
itertools.groupby() or dict |
group_by(&:key) |
Manual via object map |
ToList |
.collect(Collectors.toList()) |
Array(...) |
Arrays by default | @array |
.toList() |
list(...) |
Already arrays | Arrays by default |
ToArray |
.toArray() |
Array(...) |
Arrays by default | @array |
.toTypedArray() |
list(...) |
Already arrays | Arrays by default |
Sum |
.mapToInt().sum() |
.reduce(0, +) |
array_sum() |
List::Util::sum |
.sum() / .sumOf {} |
sum(...) |
.sum |
.reduce((a, b) => a + b) |
Average |
.mapToInt().average() |
.average() |
array_sum()/count() |
Manual or sum/length |
.average() |
sum(...) / len(...) |
.sum / .size |
sum / length (manual) |
Distinct |
.distinct() |
Set(...) |
array_unique() |
uniq @array |
.distinct() |
set(...) |
.uniq |
Array.from(new Set(...)) |
Skip |
.skip(n) |
.dropFirst(n) |
array_slice(..., n) |
@array[n..$#array] |
.drop(n) |
arr[n:] |
.drop(n) |
.slice(n) |
Take |
.limit(n) |
.prefix(n) |
array_slice(..., 0, n) |
@array[0..$n-1] |
.take(n) |
arr[:n] |
.take(n) |
.slice(0, n) |
Aggregate |
.reduce() |
.reduce(into:) |
array_reduce() |
reduce {} |
.reduce() |
functools.reduce(...) |
.inject |
.reduce(...) |
Max |
.max() |
.max() |
max($array) |
List::Util::max |
.maxOrNull() |
max(...) |
.max |
Math.max(...arr) |
Min |
.min() |
.min() |
min($array) |
List::Util::min |
.minOrNull() |
min(...) |
.min |
Math.min(...arr) |
Zip |
IntStream.range().mapToObj() |
zip() |
array_map(null, ...) |
map { $a[$_], $b[$_] } |
.zip() |
zip(list1, list2) |
.zip |
arr1.map((v, i) => [v, arr2[i]]) |
Note: Some language examples may need additional imports or libraries (e.g., List::Util in Perl or functools in Python).