Here you can find the source of hash3(int hash, Object x, Object y, Object z)
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 |
public static int hash3(int hash, Object x, Object y, Object z)
//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)); } }