[Java8]Stream APIのfilterメソッドで条件を満たす配列の要素を取得する方法

2020年11月9日

説明
1.public static String toString(int[] a)
指定された配列の文字列表現を返します。
2.public static IntStream stream(int[] array)
指定された配列をソースとして使用して、逐次的なIntStreamを返します。
3.IntStream filter(IntPredicate predicate)
パラメータ:predicate – 各要素を含めるべきか判定する目的で各要素に適用する、
Javaコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study.it;
import java.util.Arrays;
import java.util.Random;
public class ArraysStreamDemo {
// max element
public static final int maxElement = 8;
public static void main(String[] args) {
// 元の配列の要素
int[] oldArr = OldArrFunc();
//新配列の要素作成
newArrFunc(oldArr);
}
//Random ランダムの配列要素作成
public static int[] OldArrFunc() {
int[] cft = new int[maxElement];
Random rdm = new Random();
for (int i = 0; i < cft.length; i++) {
cft[i] = rdm.nextInt(maxElement);
}
System.out.println("元配列の要素:" + Arrays.toString(cft));
return cft;
}
//filterメソッドで新配列を生成
public static void newArrFunc(int tt[]) {
int[] newArr = Arrays
.stream(tt)
.filter(val -> (val > 3))
.toArray();
System.out.println("新配列の要素:" + Arrays.toString(newArr));
}
}
package com.arkgame.study.it; import java.util.Arrays; import java.util.Random; public class ArraysStreamDemo { // max element public static final int maxElement = 8; public static void main(String[] args) { // 元の配列の要素 int[] oldArr = OldArrFunc(); //新配列の要素作成 newArrFunc(oldArr); } //Random ランダムの配列要素作成 public static int[] OldArrFunc() { int[] cft = new int[maxElement]; Random rdm = new Random(); for (int i = 0; i < cft.length; i++) { cft[i] = rdm.nextInt(maxElement); } System.out.println("元配列の要素:" + Arrays.toString(cft)); return cft; } //filterメソッドで新配列を生成 public static void newArrFunc(int tt[]) { int[] newArr = Arrays .stream(tt) .filter(val -> (val > 3)) .toArray(); System.out.println("新配列の要素:" + Arrays.toString(newArr)); } }
package com.arkgame.study.it;

import java.util.Arrays;
import java.util.Random;

public class ArraysStreamDemo {

      // max element
      public static final int maxElement = 8;

      public static void main(String[] args) {

            // 元の配列の要素
            int[] oldArr = OldArrFunc();

            //新配列の要素作成
            newArrFunc(oldArr);
      }
      //Random ランダムの配列要素作成
      public static int[] OldArrFunc() {
            int[] cft = new int[maxElement];
            Random rdm = new Random();
            for (int i = 0; i < cft.length; i++) {
                  cft[i] = rdm.nextInt(maxElement);
            }
            System.out.println("元配列の要素:" + Arrays.toString(cft));
            return cft;

      }
      //filterメソッドで新配列を生成
      public static void newArrFunc(int tt[]) {
            int[] newArr = Arrays
                        .stream(tt)
                        .filter(val -> (val > 3))
                        .toArray();
            System.out.println("新配列の要素:" + Arrays.toString(newArr));

      }
}

実行結果
元配列の要素:[1, 2, 6, 1, 1, 0, 5, 3]
新配列の要素:[6, 5]

Java

Posted by arkgame