public static int hash(Object key[], FieldType fieldType[]) {
        int hash = 0;

        for (int i = 0; i < key.length; i++) {
            hash *= 31;
            hash ^= hash(key[i], fieldType[i]);
        }

        return hash;
    }
public static int hash(Object key[], FieldType fieldType[]) {
        int hash = 0;

        for (int i = 0; i < key.length; i++) {
            hash *= 31;
            hash ^= hash(key[i], fieldType[i]);
        }

        return hash;
    }
public static int hash ( Object key [ ] , FieldType fieldType [ ] ) { int hash = 0 ; for ( int i = 0 ; i < key . length ; i ++ ) { hash *= 31 ; hash ^= hash ( key [ i ] , fieldType [ i ] ) ; } return hash ; }
Hash a key

@param key the key
@param fieldType the respective FieldTypes of each key.
@return the hash code
Hash a key