or produced less than collisions in each caseit should come as no surprisethento learn that many java implementations choose the polynomial hash functionusing one of these constants for aas default hash code for strings for the sake of speedhoweversome java implementations only apply the polynomial hash function to fraction of the characters in long strings cyclic shift hash codes variant of the polynomial hash code replaces multiplication by with cyclic shift of partial sum by certain number of bits such functionapplied to character strings in java couldfor examplelook like the followingstatic int hashcode(string sint = for (int = < length() + ( > )/ -bit cyclic shift of the running sum (ints charat( )/add in next character return has with the traditional polynomial hash codeusing the cyclic-shift hash code re quires some fine-tuning in this casewe must wisely choose the amount to shift by for each new character we show in table the results of some experiments run on list of just over , english wordswhich compare the number of col lisions for various shift amounts these and our previous experiments show that if we choose our constant or our shift value wiselythen either the polynomial hash code or its cyclic-shift variant are suitable for any object that can be written as tuple ( , , )where the order in tuples matters table comparison of collision behavior for the cyclic shift variant of the poly nomial hash code as applied to list of just over , english words the "totalcolumn records the total number of collisions and the "maxcolumn records the maximum number