Java 中如何基于数组内容生成哈希值(hashCode)呢?
下文笔者讲述Java中数组生成hashCode的方法分享,如下所示:
java.lang.Array hashCode方法继承Object类, 默认采用object的hashCode,所以缺省情况下数组的hashCode都相同, 如何根据数组内容生成hashCode呢?下文将一一道来,如下所示 ------------------------------------------------------------------ 实现思路: 借助Arrays.hashCode方法或Arrays.deepHashCode生成数组的hashCode例:
package com.java265.other; import java.util.Arrays; public class Test11 { /** * java265.com 示例演示 */ public static void main(String[] args) throws Exception { int[] a = { 1, 2, 44, 88 }; int[] b = { 1, 2, 44, 88 }; int[] c = { 1, 20, 44, 88 }; System.out.println("数组a hashCode:" + a.hashCode()); System.out.println("数组b hashCode:" + a.hashCode()); System.out.println("数组c hashCode:" + a.hashCode()); System.out.println("=================="); System.out.println(Arrays.hashCode(a)); System.out.println(Arrays.hashCode(b)); System.out.println(Arrays.hashCode(c)); } } ------运行以上代码,将输出以下信息-------- 数组a hashCode:617901222 数组b hashCode:617901222 数组c hashCode:617901222 ================== 956686 956686 973984
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。