「Java8」 Stream.map()とreplace()メソッドで配列の要素を置き換えるサンプル

2020年11月9日

説明
1.public static <T> Stream<T> stream(T[] array)
指定された配列をソースとして使用して、逐次的なStreamを返します。
2.A[] toArray(IntFunction<A[]> generator)
指定されたgenerator関数を使用して、このストリームの要素を含む配列を返し、返された配列と、
パーティション化された実行またはサイズ変更に必要となる可能性のある追加の配列を割り当てます。
3.Stream<R> map(Function<? super T,? extends R> mapper)
このストリームの要素に指定された関数を適用した結果から構成されるストリームを返します。
Javaコード

package com.arkgame.study.it;

import java.util.Arrays;

public class StreamDemo {
      public static String[] cftA = { "A01", "A02", "A03", "A04" };
      public static String ptn ="arkgame";
      public static void main(String[] args) {
            changeFunc() ;
      }
      //method definition
      public static void changeFunc() {
            String[] resArr=Arrays.stream(cftA).
                        map(cft->cft.replace("A",ptn)). //replace
                        toArray(String[]::new);
            System.out.println("元配列の要素:\n" + Arrays.toString(cftA));
            System.out.println("新配列の要素:\n" + Arrays.toString(resArr));
      }
}

実行結果
元配列の要素:
[A01, A02, A03, A04]
新配列の要素:
[arkgame01, arkgame02, arkgame03, arkgame04]

Java

Posted by arkgame