Java Hash Calculate hashArray(Object[] array)

Here you can find the source of hashArray(Object[] array)

Description

Utility to hash an array.

License

Apache License

Parameter

Parameter Description
array the array

Return

the hash value

Declaration

public static int hashArray(Object[] array) 

Method Source Code

//package com.java2s;
/*// w  ww  . ja va 2  s . c  o  m
 * Copyright 2007 Stephen J. McConnell
 *
 * Licensed  under the  Apache License,  Version 2.0  (the "License");
 * you may not use  this file  except in  compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed  under the  License is distributed on an "AS IS" BASIS,
 * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
 * implied.
 *
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

public class Main {
    /**
     * Utility to hash an array.
     * @param array the array
     * @return the hash value
     */
    public static int hashArray(Object[] array) {
        if (null == array) {
            return 0;
        }
        int hash = 0;
        for (Object object : array) {
            hash ^= hashValue(object);
        }
        return hash;
    }

    /**
     * Utility to hash an object.
     * @param value the object
     * @return the hash value
     */
    public static int hashValue(Object value) {
        if (null == value) {
            return 0;
        } else if (value instanceof Object[]) {
            return hashArray((Object[]) value);
        } else {
            return value.hashCode();
        }
    }
}

Related

  1. hash64to32(long v)
  2. hashAdd(final int left, final int right)
  3. hashAll(Object[] array)
  4. hasHangulJongSung(char ch)
  5. hashArray(int h, Object[] a)
  6. hashArray(Object[] objs)
  7. hashBerkeleyDB64(byte[] str)
  8. hashByteArray(byte[] array, int startInclusive, int endExclusive)
  9. hashBytes(int seed, byte[] data, int offset, int len)