检查一个数组中的所有字符串是否都存在于另一个数组中

时间:2014-04-12 20:27:51

标签: java arrays

我有两个字符串数组:

  

String [] A = {" AQBC"," BSA"," BAA"}

     

字符串[] B = {" AWF"," AQBC "," SSA"," SFW&# 34;,"的 BSA "" WQQR"" WEWQ""的 BAA "" RDR"" GGWQ"" GQEW"}

我想检查数组A的所有元素是否都在数组B中。最简单的方法是什么?

3 个答案:

答案 0 :(得分:2)

Arrays.asList(B).containsAll(Arrays.asList(A));

最简单。不是最快的。

答案 1 :(得分:2)

如果true包含setB的所有元素,则将数组转换为set以删除可能的重复元素,然后containsAll()返回setA

Set<T> setA = new HashSet<T>(Arrays.asList(A));
Set<T> setB = new HashSet<T>(Arrays.asList(B));
setB.containsAll(setA)

答案 2 :(得分:0)

你可以试试这是为了使数组中的字符串数组A和B进行比较。并对它们进行排序

String [] A = {&#34; AQBC&#34;,&#34; BSA&#34;,&#34; BAA&#34;}

String [] B = {&#34; AWF&#34;,&#34; AQBC&#34;,&#34; SSA&#34;,&#34; SFW&#34;,&#34; BSA& #34;&#34; WQQR&#34;&#34; WEWQ&#34;&#34; BAA&#34;&#34; RDR&#34;&#34; GGWQ&#34;,& #34; GQEW&#34;}

compareStringArray(A,B,true);

public static void printArrayListOfString(List Al){

for(int i = 0; i&lt; Al.size(); i ++){

if (i != 0) {

  System.out.print(", ");
}

System.out.print(Al.get(i));

}

的System.out.println();

}