2017-09-23 20 views
0

Linqを使用しているC#のJavaサンプルに相当するものは何ですか?C#LinqのJava noneMatch()と同等

int[] someArray(int[] arr1, int[] arr2) 
{ 
    return Arrays.stream(arr1).filter(a->Arrays.stream(arr2).noneMatch(i->i == a)).toArray(); 
} 
+1

あなたのため 'java'タグを削除します質問は 'java'に関するものではありません。 –

+1

https://stackoverflow.com/q/8741439も参照してください。 –

答えて

3

私は、Java 8つのストリームと本当に慣れていないんだけど、!anyMatch()に相当noneMatch()ではないでしょうか?

あなたはIEnumerable.Any()を使用し、それはあなたが望む結果を得るために、結果です否定することができます

int[] SomeArray(int[] arr1, int[] arr2) 
{ 
    return arr1.Where(a1 => !arr2.Any(a2 => a2 == a1)).ToArray(); 
} 

ます。また、内部状態を否定し、Allを使用することができます。

int[] SomeArray(int[] arr1, int[] arr2) 
{ 
    return arr1.Where(a1 => arr2.All(a2 => a2 != a1)).ToArray(); 
}