Java Hash Calculate hash3(int hash, Object x, Object y, Object z)

Here you can find the source of hash3(int hash, Object x, Object y, Object z)

Description

Utility method to combine a base hash with the identity hash of one or more objects.

License

Open Source License

Parameter

Parameter Description
hash the base hash
x the first object to add to the hash
y the second object to add to the hash
z the third object to add to the hash

Return

the combined hash

Declaration

public static int hash3(int hash, Object x, Object y, Object z) 

Method Source Code

//package com.java2s;
/*//from  w  w w  .  ja va  2  s . c o  m
 * Copyright (c) 2017, APT Group, School of Computer Science,
 * The University of Manchester. All rights reserved.
 * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 */

public class Main {
    /**
     * Utility method to combine a base hash with the identity hash of one or more objects.
     *
     * @param hash the base hash
     * @param x the first object to add to the hash
     * @param y the second object to add to the hash
     * @param z the third object to add to the hash
     * @return the combined hash
     */
    public static int hash3(int hash, Object x, Object y, Object z) {
        // always set at least one bit in case the hash wraps to zero
        return 0x30000000 | (hash + 7 * System.identityHashCode(x) + 11 * System.identityHashCode(y)
                + 13 * System.identityHashCode(z));
    }
}

Related

  1. hash(Object[] array)
  2. hash(Object[] state)
  3. hash1(int val)
  4. hash1(Object a)
  5. hash16(int hash)
  6. Hash32(byte[] v, int iStart, int iLength)
  7. hash32shiftmult(int k)
  8. hash64(final byte[] data, int length)
  9. hash64To32(long lg)