LINQ, StreamAPIとの対比表 #Kotlinコレクション操作00
今までC#をずっとやってきてLINQをあたりまえのように使ってるので
他の言語を勉強する際に気になるのがやはりコレクションの操作とラムダ式。
なのでコレクションの操作についてメモ。
環境
お試し環境は下記を参照。
対比表
C#とKotlinの対比表です。
とりあえずLINQ (Language Integrated Query) でよく使うメソッドです。
ついでにJavaも。
下記のリンク先ではVB.NETのサンプルあり。
(今の現場がVB.NETでチームメンバーのお役に立てればと)
No | .NET [C# / VB.NET] | Kotlin | Java | 機能 |
---|---|---|---|---|
01 | Where | filter | filter | 抽出 |
02 | Select | map | map | 射影 |
03 | SelectMany | flatmap | flatmap | 平坦化して 射影 |
04 | Any | any | anyMatch | 条件を満たす要素があるかを返す |
05 | Count | count | count | 要素数を返す |
06 | First FirstOrDefault |
first firstOrNull |
findFirst | 最初の要素を返す |
07 | Last LastOrDefault |
last lastOrNull |
- | 最後の要素を返す |
08 | Single SingleOrDefault |
single singleOrNull |
唯一の要素を返す | |
09 | Skip | drop | skip | 先頭から指定数スキップした残りの要素を返す |
10 | SkipWhile | dropWhile | - | 先頭から指定条件を満たさなくなるまでスキップした残りの要素を返す |
11 | Take | take | limit | 先頭から指定数分の要素を返す |
12 | TakeWhile | takeWhle | - | 先頭から指定条件を満たす要素を返す |
13 | OrderBy OrderByDescending |
sortBy sortByDescending |
sorted | ソート |
14 | ThenBy ThenByDescending |
- | - | ソートしたものに対してソート |
15 | GroupBy | groupBy | Collectors.groupingBy | グループ化 |
16 | Distinct | distinct | distinct | 重複なし要素を返す |
17 | Max | max | max | 最大値を返す |
18 | Min | min | min | 最小値を返す |
19 | Sum | sum | IntStream.sum | 合計を返す |
20 | All | all | allMatch | 全要素が条件を満たすかを返す |
とりあえず対比表だけです。
サンプルコードは徐々に更新していきます。
対比表の「No」がリンクになっていればサンプルコードありです。