// ĠMap , ĠFilter , ĠReduce Ċ // ĠTo Ġincre se ĠVM Ġheap Ġsize , Ġset Ġenvironment Ġvariable ĠJAVA _ OPTS Ġ Ċ // Ġ( For Ġexample : Ġ' export ĠJAVA _ OPTS ="$ JAVA _ OPTS Ġ- X mx 1 0 2 4 M " ') Ċ fun Ġmain ( args : Array < String > ){ ĊĠĠĠ Ġvar Ġa Ġ= ĠĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . ĠGenerating Ġsequence ĊĠĠĠĠĠĠĠ ĠInt Array ( 1 0 0 0 0 0 0 0 ) Ġ{ Ġit Ġ} ĊĊĠĠĠ Ġ// ĠStop watch Ġstart Ġafter Ġgenerating Ġsequence ĊĠĠĠ Ġvar Ġstart Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠ Ġvar Ġresult Ġ= ĠĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠMapping Ġthe Ġsequence Ġinto Ġanother ĊĠĠĠĠĠĠĠ Ġa . map Ġ{ Ġn Ġ-> Ġn Ġ* Ġ 2 } ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 3 . ĠFiltering Ġthe Ġsequence ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġn Ġ-> Ġn % 3 Ġ== Ġ 0 } ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 4 . ĠRed uc ing Ġthe Ġsequence ĊĠĠĠĠĠĠĠ Ġ. fold ( 0 L ) Ġ{ Ġx , Ġy Ġ-> Ġx . to Long () Ġ+ Ġy . to Long ()} ĊĊĠĠĠ Ġvar Ġend Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠ Ġ// ĠAs Ġa Ġresult ĊĠĠĠ Ġprintln ( result . toString ()) ĊĠĠĠ Ġprintln (( end - start ). toString () Ġ+ Ġ" Ġ[ m sec ]") Ċ } Ċ