public static int combineListHash ( int ... hashes ) { int hash = 0 ; for ( int h : hashes ) { hash += h ; hash += ( hash << 10 ) ; hash ^= ( hash >> 6 ) ; } hash += ( hash << 3 ) ; hash ^= ( hash >> 11 ) ; hash += ( hash << 15 ) ; return hash ; }
Combine many hash codes into one in a way that depends on their order .