重複の可能性:
配列が別の配列のサブセットであるかどうかを確認します
私は配列a = { 1,4,3,5,1,2,3,6 }
と配列を持っていb= { 1,2,3 }
ます。
b
配列要素が配列内のどこかに現れるかどうかを確認するにはどうすればよいa
ですか? どんな助けでも大歓迎です。ありがとう。
重複の可能性:
配列が別の配列のサブセットであるかどうかを確認します
私は配列a = { 1,4,3,5,1,2,3,6 }
と配列を持っていb= { 1,2,3 }
ます。
b
配列要素が配列内のどこかに現れるかどうかを確認するにはどうすればよいa
ですか? どんな助けでも大歓迎です。ありがとう。
最も簡単な方法は、明らかに組み込み関数を使用することです。ただし、Java には、型に対してこれを行うための組み込み関数しかありませんCollection
。配列がプリミティブ型でない場合は、次のようにできます。
if (Arrays.asList(a).containsAll(Arrays.asList(b))) {
//...
}
プリミティブ配列 (int[]
など) の場合、これが最も簡単な方法です。配列を手動でリストに変換するか、サードパーティのライブラリを使用するだけです。 Guava には次の機能があります。
if ( Ints.asList(a).containsAll(Ints.asList(b)) ) {
//...
}
Use Apache Commons Lang:
for (Object element:b) {
if (ArrayUtils.contains(a,element) == false) return false;
}
return true;