static boolean equal(Object[] arr1,Object[] arr2){
  if (arr1 == arr2) {
    return true;
  }
 else   if (arr1.length != arr2.length) {
    return false;
  }
  for (int i=arr1.length; --i >= 0; ) {
    if (!contains(arr2,arr2.length,arr1[i])) {
      return false;
    }
  }
  return true;
}

static boolean equal ( Object [ ] arr1 , Object [ ] arr2 ) { if ( arr1 == arr2 ) { return true ; } else if ( arr1 . length != arr2 . length ) { return false ; } for ( int i = arr1 . length ; -- i >= 0 ; ) { if ( ! contains ( arr2 , arr2 . length , arr1 [ i ] ) ) { return false ; } } return true ; }
returns true if the two arrays are the same length and contain equal elements ( but the order of the elements need not be the same in both arrays ) . the arrays must not contain duplicates .
