Kotlinのstream系関数がどのインターフェース／クラスで使用できるか

Kotliinのstream系関数が、どのインターフェース／クラスで使用できて、どのような関数があるのか等をまとめています。
個人的に気になる関数からまとめているため、偏っているかもしれません。
また、親インターフェース／親クラスで記述済みの場合、子の記述はしません。
随時、更新する予定です。

# 公式リファレンス
https://kotlinlang.org/api/latest/jvm/stdlib/index.html

# 関数
配列やコレクションをメインで記述します。

## filter
フィルター

<table>
<tr><th>分類 </th><th>関数</th><th>対象</th></tr>
<tr>
<td>共通</td>
<td>filter<br>filterTo<br>filterNot<br>filterNotTo</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.collections.Map<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>インデックス</td>
<td>filterIndexed<br>filterIndexedTo</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>インスタンス</td>
<td>filterIsInstance<br>filterIsInstanceTo<br>filterNotNull<br>filterNotNullTo</td>
<td>kotlin.Array<br>kotlin.collections.Iterable<br>kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>マップ</td>
<td>filterKeys<br>filterValues</td>
<td>kotlin.collections.Map</td>
</tr>
</table>

## map
値の置換

<table>
<tr><th>分類 </th><th>関数</th><th>対象</th></tr>
<tr>
<td>共通</td>
<td>map<br>mapTo</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.collections.Map<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>インデックス</td>
<td>mapIndexed<br>mapIndexedTo</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>インスタンス</td>
<td>mapNotNull<br>mapNotNullTo</td>
<td>kotlin.Array<br>kotlin.collections.Iterable<br>kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>インデックス＆インスタンス</td>
<td>mapIndexedNotNull<br>mapIndexedNotNullTo</td>
<td>kotlin.Array<br>kotlin.collections.Iterable<br>kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>マップ</td>
<td>mapKeys<br>mapKeysTo<br>mapValues<br>mapValuesTo</td>
<td>kotlin.collections.Map</td>
</tr>
</table>

## groupBy/groupingBy
グループ分け

<table>
<tr><th>分類 </th><th>関数</th><th>対象</th></tr>
<tr>
<td>即時</td>
<td>groupBy<br>groupByTo</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>中間ステップ</td>
<td>groupingBy（1.1～）</td>
<td>kotlin.collections.Iterable<br>kotlin.sequences.Sequence</td>
</tr>
</table>

## reduce
計算して個数を1つに減らす（まとめる）

<table>
<tr><th>分類 </th><th>関数</th><th>対象</th></tr>
<tr>
<td>共通</td>
<td>reduce</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.collections.Grouping（1.1～）<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>インデックス</td>
<td>reduceIndexed</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.Iterable<br>
kotlin.sequences.Sequence</td>
</tr>
<tr>
<td>方向／インデックス</td>
<td>reduceRight<br>reduceRightIndexed</td>
<td>
kotlin.BooleanArray<br>
kotlin.CharArray<br>
kotlin.ByteArray<br>
kotlin.IntArray<br>
kotlin.ShortArray<br>
kotlin.LongArray<br>
kotlin.FloatArray<br>
kotlin.DoubleArray<br>
kotlin.Array<br>
kotlin.collections.List</td>
</tr>
<tr>
<td>変換先指定</td>
<td>reduceTo</td>
<td>
kotlin.collections.Grouping（1.1～）</td>
</tr>
</table>

<!--
## union
他と結合してSetとしてまとめる
TODO
-->