JavaSE中利用循环无视顺序比较数组元素是否相同该如何实现

我的代码如下:

public class BaseDemo06 {
    public static void main(String[] args) {
        int[] arr1 = {1,1,1,1,1};
        int[] arr2 = {5,4,3,2,1};
        System.out.println(arrCompare(arr1,arr2));
    }
    public static boolean arrCompare(int[] a,int[] b){
        boolean bl = true;
        int[] x = new int[b.length];
        if(a.length==b.length){
            for (int i =0;i<a.length;i++){
                if(bl=true){
                    for (int j=0;j<b.length;j++) {
                        if(a[i]==b[j]&&b[j]!=x[i]){
                            bl=true;
                            x[i]=b[j];
                            break;
                        }else if(j==b.length-1){
                            bl=false;
                            break;
                        }
                    }
                }else{
                    break;
                }

            }
        }else {
            return false;
        }
        return bl;
    }
}

这么写有个问题就是只要数组1中的元素在数组2中能找到那就返回true
比如{1,1,1,1,1}与{1,2,3,4,5}也是返回true,只有数组1中的元素在数组2中找不到时候才会返回false
请问这段代码该如何修改才可以

你是要判断两个数组元素是否相同?

数组转set集合,然后判断。如果非要用数组,建议你的布尔判断不要只是判断相等,而是判断相等次数。

只要有相同的就返回true是吗