public int hashCode(){
  int result=0;
  int increment=Math.min(3,values.length / 16);
  for (int i=0; i < values.length; i+=increment) {
    result=result * 37 + values[i];
  }
  return result;
}

public int hashCode ( ) { int result = 0 ; int increment = Math . min ( 3 , values . length / 16 ) ; for ( int i = 0 ; i < values . length ; i += increment ) { result = result * 37 + values [ i ] ; } return result ; }
generates the hash code for the compact array object
