4
ストリームAPIを使用して2つの整数配列を比較し、両方の配列が同じで、同じインデックスを持つ要素を含む配列を返すことはできますか?同じ長さ)。java 8の機能を使用して2つのint配列から同一の値を取得
私は、Java 8を使用していないここに方法があります:
public static int[] identicalValueAndIndex(int[] array1, int[] array2) {
List<Integer> values = new ArrayList<Integer>();
int len = array1.length;
for (int i = 0, k = 0; i < len; i++) {
if (array1[i] == array2[i]) {
values.add(array1[i]);
}
}
int[] result = new int[values.size()];
for (int i = 0; i < values.size(); i++) {
result[i] = values.get(i);
}
return result;
}
私はストリームとなった最も近いがこれです:インデックスが同じであれば、この方法は、テストするものではありませんしかし
public static int[] identicalValueAndIndex(int[] array1, int[] array2) {
return Arrays.stream(array1)
.filter(n -> Arrays.stream(array2).anyMatch(num -> n == num))
.toArray();
}
。
うん、それは動作します。どうもありがとうございました! –