可能是重复问题:
Java:检查数组的相等性(顺序无关紧要)
我有两个数组:
String[] a1 = {"a", "b", "c"};
String[] a2 = {"c", "b", "a"};
我需要检查两个数组是否包含相同的元素(长度也相同),而且元素的顺序无关紧要。
我尝试了Arrays.equals(a1, a2)
,但它会考虑元素的顺序。org.apache.commons.lang.ArrayUtils
并没有提供这个功能。
我知道可以通过创建自己的方法来实现相同的效果(先检查长度是否相同,然后对两个数组进行排序,最后使用Arrays.equals(a1, a2)
),但我想知道是否有任何 API 提供此功能或者是否有更聪明的方法来实现相同的效果。