0

重複の可能性:
配列が別の配列のサブセットであるかどうかを確認します

私は配列a = { 1,4,3,5,1,2,3,6 }と配列を持っていb= { 1,2,3 }ます。

b配列要素が配列内のどこかに現れるかどうかを確認するにはどうすればよいaですか? どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

5

最も簡単な方法は、明らかに組み込み関数を使用することです。ただし、Java には、型に対してこれを行うための組み込み関数しかありませんCollection。配列がプリミティブ型でない場合は、次のようにできます。

if (Arrays.asList(a).containsAll(Arrays.asList(b))) {
   //...
}

プリミティブ配列 (int[]など) の場合、これが最も簡単な方法です。配列を手動でリストに変換するか、サードパーティのライブラリを使用するだけです。 Guava には次の機能があります。

if ( Ints.asList(a).containsAll(Ints.asList(b)) ) {
   //...
}
于 2012-11-15T17:48:40.733 に答える
2

Use Apache Commons Lang:

for (Object element:b) {
    if (ArrayUtils.contains(a,element) == false) return false;
}
return true;
于 2012-11-15T17:51:08.220 に答える