> For the complete documentation index, see [llms.txt](https://kurohasu.gitbook.io/fsharpabout/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kurohasu.gitbook.io/fsharpabout/basic/collection/functions-1.md).

# 使える関数

て適用関数一覧(〇がついてるものは、その型で使用できます)

<table data-full-width="true"><thead><tr><th>機能</th><th>Array</th><th>List</th><th>Sequence</th><th>Map</th><th>Set</th><th>概要</th></tr></thead><tbody><tr><td>append</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>２つのコレクション型を合成</td></tr><tr><td>add</td><td></td><td></td><td></td><td>　　〇</td><td>　　〇</td><td>コレクション型の要素の値を加える</td></tr><tr><td>average</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクションの平均値</td></tr><tr><td>averageBy</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各値に関数を適用した時の平均値</td></tr><tr><td>blit</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>要素の範囲を元にコレクションにコピーする</td></tr><tr><td>cache</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>キャッシュされたものを返す</td></tr><tr><td>cast</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>IEnumrableをシーケンスに</td></tr><tr><td>choose</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各値に関数を適用し,Option型で返ってくるもの</td></tr><tr><td>collect</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各値に関数を適用した結果</td></tr><tr><td>compareWith</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>比較関数を使用して２つのコレクションを要素ごとに比較</td></tr><tr><td>concat</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクション同士を結合</td></tr><tr><td>contains</td><td></td><td></td><td>　　〇</td><td></td><td>　　〇</td><td>コレクション内に値があるか</td></tr><tr><td>containskey</td><td></td><td></td><td></td><td>　　〇</td><td></td><td>要素がコレクション内にあるか</td></tr><tr><td>count</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>要素の数を数える</td></tr><tr><td>countby</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>各要素にキーとなる関数を適用、キーと元のコレクションで出現回数を生成</td></tr><tr><td>copy</td><td>　　〇</td><td></td><td>　　〇</td><td></td><td></td><td>コレクションをコピー</td></tr><tr><td>create</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>コレクションをインスタンスを作成</td></tr><tr><td>delay</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>遅延仕様から構築されたコレクションを返す</td></tr><tr><td>distinct</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>重複しないコレクションを返す</td></tr><tr><td>distinctby</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>各要素に関数適用して重複しないもの</td></tr><tr><td>empty</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>空のコレクション</td></tr><tr><td>exists</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>条件を満たす値が存在するか</td></tr><tr><td>exists2</td><td>　　〇</td><td></td><td>　　〇</td><td></td><td></td><td>要素のペア内に条件を満たすものがあるか</td></tr><tr><td>fill</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>要素数を指定して値で埋める</td></tr><tr><td>fillter</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>条件を満たす値のみを含むコレクションを返す</td></tr><tr><td>find</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td>関数の条件を満たす最初の要素</td></tr><tr><td>findback</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td>関数の条件を満たす最後の要素</td></tr><tr><td>findIndex</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数の条件を満たす最初の要素のインデックス</td></tr><tr><td>findIndexBack</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数の条件を満たす最後の要素のインデックス</td></tr><tr><td>findKey</td><td></td><td></td><td></td><td>　　〇</td><td></td><td>条件を満たすキーを見つける</td></tr><tr><td>fold</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>各要素に関数を適用</td></tr><tr><td>fold2</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各要素に２つの関数を適用</td></tr><tr><td>foldback</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>末尾から各要素に関数を適用</td></tr><tr><td>foldback2</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>末尾から各要素に２つの関数を適用</td></tr><tr><td>forall</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>コレクションの全ての要素が条件を満たすか</td></tr><tr><td>forall2</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>要素のぺア全てが条件を満たすか</td></tr><tr><td>get/nth</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>要素を指定し値を得る</td></tr><tr><td>head</td><td></td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクションの最初の要素を返す</td></tr><tr><td>indexed</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>インデックスと要素をペアにしたものを返す</td></tr><tr><td>init</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数で初期化</td></tr><tr><td>initInfinite</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数で反復的にコレクションを生成</td></tr><tr><td>insertAt</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>インデックスの前に値を挿入する</td></tr><tr><td>insertManyAt</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>インデックスの前に複数の値を挿入する</td></tr><tr><td>intersect</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>2つのコレクションの外積を計算</td></tr><tr><td>intersectMany</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>セットのシーケンスの外積を計算</td></tr><tr><td>isEmpty</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td>コレクションは空か</td></tr><tr><td>isProperSubset</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>2番目のコレクションが1番目の部分集合になっているか</td></tr><tr><td>isProperSuperset</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>1番目のコレクションが2番目の部分集合になっているか</td></tr><tr><td>isSubset</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>2番目のコレクションが1番目の値を全て含んでいるか</td></tr><tr><td>isSupeset</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>1番目のコレクションが2番目の値を全て含んでいるか</td></tr><tr><td>item</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションの要素の値を返す</td></tr><tr><td>iter</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>各要素に関数を適用</td></tr><tr><td>iteri</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各要素に関数を適用<br>(関数に要素のインデックスが渡される)</td></tr><tr><td>iter2</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各要素に２つの関数を適用</td></tr><tr><td>iteri2</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td></td><td>各要素に２つの関数を適用(関数に要素のインデックスが渡される)</td></tr><tr><td>last</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクションの最後の要素を返す</td></tr><tr><td>length</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクションの長さを返す</td></tr><tr><td>map</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各要素に関数を適用</td></tr><tr><td>map2</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>２つのコレクションに対応する要素のペアに関数を適用</td></tr><tr><td>map3</td><td></td><td>　　〇</td><td></td><td></td><td></td><td>３つのコレクションに対応する要素のペアに関数を適用</td></tr><tr><td>mapFold</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションを各要素に適用したものを新しいコレクションとして返す(map+Fold)</td></tr><tr><td>mapFoldBack</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションを各要素に適用したものを新しいコレクションとして返す(map+FoldBack)</td></tr><tr><td>mapi</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数を各要素に適用したものを新しいコレクションとして返す</td></tr><tr><td>mapi2</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数を各要素のペアに適用したものを新しいコレクションとして返す</td></tr><tr><td>max</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクションの中で最大のもの</td></tr><tr><td>maxBy</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数を適用してコレクションの中で最大のもの</td></tr><tr><td>maxElement</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>最大の値</td></tr><tr><td>min</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>コレクションの中で最小のもの</td></tr><tr><td>minBy</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数を適用してコレクションの中で最小のもの</td></tr><tr><td>minElement</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>最小の値</td></tr><tr><td>ofArray</td><td></td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>コレクションをArrayにする</td></tr><tr><td>ofList</td><td>　　〇</td><td></td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>コレクションをListにする</td></tr><tr><td>ofSeq</td><td>　　〇</td><td>　　〇</td><td></td><td>　　〇</td><td>　　〇</td><td>コレクションをSeqenceにする</td></tr><tr><td>pairwise</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>各要素とその前の要素のコレクション</td></tr><tr><td>partition</td><td>　　〇</td><td>　　〇</td><td></td><td>　　〇</td><td>　　〇</td><td>条件を元にコレクションを分割する</td></tr><tr><td>permute</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>指定された順番に全ての要素を並び替える</td></tr><tr><td>pick</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td>関数を適用して最初にSome()を返す要素を返す</td></tr><tr><td>randomChoice</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>ランダムな要素を１つ返す</td></tr><tr><td>randomChoiceBy</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数を適用した後、ランダムな要素を１つ返す</td></tr><tr><td>randomChoiceWith</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>特定のSystem.Randomインスタンスを持つコレクションからランダムな要素を１つ返す</td></tr><tr><td>randomChoices</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>ランダムな要素を複数返す</td></tr><tr><td>randomChoicesBy</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数を適用した後、ランダムな要素を複数返す</td></tr><tr><td>randomChoicesWith</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>特定のSystem.Randomインスタンスを持つコレクションからランダムな要素を複数返す</td></tr><tr><td>randomSample</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>要素のサンプルを複数個返す</td></tr><tr><td>randomSampleBy</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数を適用し要素のサンプルを複数個返す</td></tr><tr><td>randomSampleWith</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>System.Randomインスタンスを使用した要素のサンプルを複数個返す</td></tr><tr><td>randomShuffle</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>シャッフルされたコレクションを返す</td></tr><tr><td>randomShuffleBy</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数を使用してシャッフルされたコレクションを返す</td></tr><tr><td>randomShuffleWith</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>System.Randomインスタンスを使ってシャッフルした新しいコレクションを返す</td></tr><tr><td>readonly</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>読み込み専用のコレクションを作成</td></tr><tr><td>reduce</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>各要素に関数を適用させ、それらを累積させる</td></tr><tr><td>reduceBack</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>後ろから各要素に関数を適用させ、それらを累積させる</td></tr><tr><td>remove</td><td></td><td></td><td></td><td>　　〇</td><td>　　〇</td><td>コレクション型の要素の値を加える</td></tr><tr><td>removeAt</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>指定のインデックスの値を削除した新しいコレクションを返す</td></tr><tr><td>removeManyAt</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>指定のインデックスの値から始まる項目数を削除した新しいコレクションを返す</td></tr><tr><td>replicate</td><td></td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>初期値を複製してコレクションを作成</td></tr><tr><td>rev</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td></td><td>要素を逆順にしたコレクション</td></tr><tr><td>scan</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>中間結果/最終結果のコレクション返す</td></tr><tr><td>scanback</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>後ろから中間結果/最終結果のコレクション返す</td></tr><tr><td>singleton</td><td></td><td></td><td>　　〇</td><td></td><td>　　〇</td><td>1つの項目のみを生成</td></tr><tr><td>set</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>要素を指定して値を変更する</td></tr><tr><td>skip</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>N個のコレクションをスキップしたコレクションを返す</td></tr><tr><td>skipWhile</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>条件関数がFalseになるまでコレクションをスキップ</td></tr><tr><td>sort</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>昇順に整列されたコレクションを返す</td></tr><tr><td>sortBy</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>関数によってキーを生成し、それを元に昇順に整列</td></tr><tr><td>sortByDescending</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>降順に整列されたコレクションを返す</td></tr><tr><td>sortDescending</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数によってキーを生成し、それを元に降順に整列</td></tr><tr><td>sortInPlace</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>昇順で整列</td></tr><tr><td>sortInPlaceBy</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>関数を使用し、それを元に昇順に整列</td></tr><tr><td>sortInPlaceWith</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>関数を使用し、それを元に整列</td></tr><tr><td>sortWith</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>比較関数を使用して順序付けたコレクションを返す</td></tr><tr><td>splitInto</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>入力コレクションを分割する</td></tr><tr><td>sub</td><td>　　〇</td><td></td><td></td><td></td><td></td><td>コレクションを開始インデックスと得る要素数を指定して分割</td></tr><tr><td>sum</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>要素の和</td></tr><tr><td>sumBy</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>関数を適用した要素の和</td></tr><tr><td>tail</td><td></td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>１つの要素をスキップした残りのコレクション</td></tr><tr><td>take</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>N個の要素を取得</td></tr><tr><td>takeWhile</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>条件がTrueとなる要素を持つコレクションを返す</td></tr><tr><td>toArray</td><td></td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>コレクションからArrayを生成</td></tr><tr><td>toList</td><td>　　〇</td><td></td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>コレクションからListを生成</td></tr><tr><td>toSeq</td><td>　　〇</td><td>　　〇</td><td></td><td>　　〇</td><td>　　〇</td><td>コレクションからSequenceを生成</td></tr><tr><td>transpose</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションを転置したものを返す</td></tr><tr><td>truncate</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>最大でN個の要素を返すコレクションを返す</td></tr><tr><td>tryExactlyOne</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションの唯一の要素を返す</td></tr><tr><td>tryFind</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td>条件関数がTrueとなる最初の要素を返す</td></tr><tr><td>tryFindBack</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>条件関数がTrueとなる最後の要素を返す</td></tr><tr><td>tryFindIndex</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>条件関数がTrueとなる最初の要素のインデックスを返す</td></tr><tr><td>tryFindIndexBack</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>条件関数がTrueとなる最後の要素のインデックスを返す</td></tr><tr><td>tryFindKey</td><td></td><td></td><td></td><td>　　〇</td><td></td><td>条件を満たすキーを探す(Option型)</td></tr><tr><td>tryHead</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションの最初の要素を返す</td></tr><tr><td>tryItem</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションのN番目の要素を返す</td></tr><tr><td>tryLast</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションの最後の要素を返す</td></tr><tr><td>tryPick</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td>関数を連続する要素にし、関数がSome()を返す最初の値を返す</td></tr><tr><td>unfold</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>関数によって生成された要素を含むコレクションを返す</td></tr><tr><td>union</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>2つのコレクションの結合</td></tr><tr><td>unionMany</td><td></td><td></td><td></td><td></td><td>　　〇</td><td>シーケンスセットの結合</td></tr><tr><td>unzip</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>2つの値で構成されてる配列を分割</td></tr><tr><td>unzip3</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>3つの値で構成されてる配列を分割</td></tr><tr><td>updateAt</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>指定のインデックスの項目に値を設定</td></tr><tr><td>where</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>条件関数がTrueを返す要素のコレクションを返す</td></tr><tr><td>windowed</td><td></td><td></td><td>　　〇</td><td></td><td></td><td>コレクションから抽出された要素を含むコレクションを返す</td></tr><tr><td>zip</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>２つのコレクションをペアとして結合</td></tr><tr><td>zip3</td><td>　　〇</td><td>　　〇</td><td>　　〇</td><td></td><td></td><td>３つのコレクションをペアとして結合</td></tr></tbody></table>
