Collection に対する呼び出しチェーンで、シーケンスに変換すべきものを報告します。

Collection を変換する関数 (map()filter() など) は、それぞれが内部で新しい Collection (一般的には List または Set) を作成します。 結果的に生じる呼び出しが複数個あり、かつ Collection 内の項目数が多い場合、膨大なメモリトラフィックが発生する可能性があります。 このような場合は、Sequence を使用することをお勧めします。

例:


  class Entity(val key: String, val value: String)

  fun getValues(lines: List<String>) = lines
      .filter { it.isNotEmpty() }
      .map { it.split(',', limit = 2) }
      .filter { it.size == 2 }
      .map { Entity(it[0], it[1]) }

クイックフィックスを使用すると、呼び出しチェーンが asSequence()toList() にラップされます。


  class Entity(val key: String, val value: String)

  fun getValues(lines: List<String>) = lines
      .asSequence()
      .filter { it.isNotEmpty() }
      .map { it.split(',', limit = 2) }
      .filter { it.size == 2 }
      .map { Entity(it[0], it[1]) }
      .toList()