Array、配列(FastArray)ユーティリティ

ArrayUtil

Array-ofやFastArray-ofのユーティリティとして、ArrayUtilというクラスがあります。これを用いることで、標準APIには含まれないAPIを利用することが可能となります。

ArrayUtil.output

Arrayの全データを出力します。

        def x = {{Array-of String} “apple”, “orange”, “pine”}
        {ArrayUtil.output x}

#{apple orange pine}と表示されます。

ArrayUtil.unique / ArrayUtil.unique-clone

Array内のデータで重複をなくします。例えば、”apple”, “orange”, “pine”, “orange”, “pine”という5つのデータが存在する場合、重複を排除し、、”apple”, “orange”, “pine”という3つになります。

        def x = {{Array-of String} “apple”, “orange”, “pine”, “orange”, “pine”}
        {ArrayUtil.unique x} || -> “apple”, “orange”, “pine”

ArrayUtil.contains?

Array内にデータが含まれるか否かをチェックします。

        def x = {{Array-of String} “apple”, “orange”, “pine”, “orange”, “pine”}
        {ArrayUtil.contains? x, “apple”} || -> true

ArrayUtil.grep / ArrayUtil.grep-clone

Array内のデータを正規表現にマッチするものだけに絞り込みます。

        def x = {{Array-of String} “a01”, “a02”, “b01”, “b02”, “c01”}
        {ArrayUtil.grep x, “a.*”} || -> “a01”, “a01”

似たようなAPIでArrayUtil.filter-by-prefixやArrayUtil.filter-by-suffixというものがあります。詳細はCurlドキュメンテーションを参照ください。

ArrayUtil.max / ArrayUtil.min / ArrayUtil.sum / ArrayUtil.avg

Arrayの中の最大値、最小値、合計、平均を結果として返します。

        def x = {{Array-of int} 1, 2, 3, 4, 5}
        {ArrayUtil.max x} || 5
        {ArrayUtil.min x} || 1
        {ArrayUtil.sum x} || 15
        {ArrayUtil.avg x}  || 3

その他、Array-of、FastArray-ofのための便利APIが多く用意されています。詳細は、Curlドキュメンテーションをインストールしてご参照ください。(例えば、和集合、差集合などのunion / union-all / intersect / minusなど)

パッケージ名:COM.CURLAP.LIB.COLLECTIONS