`
有翅膀的鱼
  • 浏览: 5683 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

java中的哈希码

阅读更多
在Java中,哈希码代表了对象的一种特征,例如我们判断某两个字符串是否==,如果其哈希码相等,则这两个字符串内容相同。其次,哈希码是一种数据结构的算法。常见的哈希码的算法有:
1:Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。

2:String类的hashCode.根据String类包含的字符串的内容,根据一种特殊算法返回哈希码,只要字符串内容相同,返回的哈希码也相同。

3:Integer类,返回的哈希码就是Integer对象里所包含的那个整数的数值,例如Integer i1=new Integer(100),i1.hashCode的值就是100 。由此可见,2个一样大小的Integer对象,返回的哈希码也一样。

注:得到的哈希码均为int型
分享到:
评论
2 楼 有翅膀的鱼 2012-10-24  
JAVA_狂热者 写道
判断某两个字符串是否==,如果其哈希码相等,则这两个字符串是相等的。
纠正一下你这严重的认识错误

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        System.out.println("输入123");
        Scanner input = new Scanner(System.in);
        String username = input.next();
        String name = "123";
        System.out.println(name.hashCode());
        System.out.println(username.hashCode());
        System.out.println(name == username);
    }
}
这段代码两个对象哈希码就完全相等,但是他们不可能==


哈哈,仁兄说的是,这就改正!!
1 楼 JAVA_狂热者 2012-07-27  
判断某两个字符串是否==,如果其哈希码相等,则这两个字符串是相等的。
纠正一下你这严重的认识错误

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        System.out.println("输入123");
        Scanner input = new Scanner(System.in);
        String username = input.next();
        String name = "123";
        System.out.println(name.hashCode());
        System.out.println(username.hashCode());
        System.out.println(name == username);
    }
}
这段代码两个对象哈希码就完全相等,但是他们不可能==

相关推荐

    Java_Datastructure.rar_java 哈希_java 哈希表

    - **键的唯一性**:在`HashMap`中,键必须遵循`equals()`和`hashCode()`的合同,即相等的对象必须有相同的哈希码,不相等的对象应尽可能有不同的哈希码。 - **线程安全**:默认情况下,`HashMap`是非线程安全的。...

    java源码:哈希计算工具 java-hash.7z

    - 对象的哈希码生成,以及如何覆写`hashCode()`方法以满足特定需求。 - 如何验证数据的完整性和一致性,例如通过比较文件的MD5或SHA值。 通过分析和实践这些源码,开发者不仅可以提升Java编程技能,还能深入理解...

    哈希表java代码

    `Info`类可能会重写`equals()`和`hashCode()`方法,这是为了确保哈希表的正确性,因为哈希表依赖于这两个方法来比较对象是否相等以及计算对象的哈希码。 `TestHashTable.java`是测试类,用于验证`HashTable`的正确...

    java哈希遍历_哈希遍历_

    哈希表是一种高效的数据存储方式,它通过计算对象的哈希码来快速定位数据,使得查找、插入和删除操作的时间复杂度接近于O(1)。本文将深入探讨Java中HashMap的遍历方法及其使用场景。 HashMap是Java集合框架中的一个...

    基于java的哈希计算工具 java-hash.zip

    在Java中,最常见的哈希函数库是`java.security.MessageDigest`,它提供了MD5、SHA-1、SHA-256等多种哈希算法的实现。 "src"目录可能包含的是该哈希计算工具的源代码。在这些源代码中,开发者可能会使用`...

    java SM3密码杂凑算法(哈希算法)

    * 适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。 * 为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短。 * 例如MD5输出128比特杂凑值,...

    哈希计算工具 java-hash

    在Java中,常见的哈希算法库有Java自带的`java.security.MessageDigest`类,它支持多种哈希算法,如MD5(Message-Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)和SHA-256等。使用这些算法,可以创建一个`...

    基于Java的哈希计算工具 Java-hash.zip

    本篇将深入探讨Java中的哈希算法和其在Java-hash.zip压缩包中的应用。 首先,哈希(Hash)函数是将任意长度的输入(也叫做预映射pre-image)通过特定算法转换成固定长度输出的过程,这个输出就是哈希值或散列值。在...

    深入分析:数组反转对哈希码的影响及代码实现

    在实际开发中,如果需要保持数组的哈希码不变,应避免对数组进行反转操作,或者在必要时重新计算哈希码。本文提供的代码示例展示了如何在不同编程语言中实现数组反转和哈希码的计算,帮助开发者理解和应用这一概念。...

    哈希计算工具 java-hash.7z

    4. **Java中的哈希计算**: Java标准库提供`java.security.MessageDigest`类用于实现各种哈希算法。通过实例化该类的不同子类(如`MessageDigest.getInstance("MD5")`或`MessageDigest.getInstance("SHA-256")`),...

    HashCodePractice2021:哈希码2021的引诱

    哈希码(HashCode)在Java编程中扮演着重要的角色,特别是在数据结构如哈希表(HashMap、HashSet等)中。哈希码是一个整数值,它代表了对象的唯一标识,通常由对象的内部状态计算得出。`hashCode()`方法是Java中的一...

    Java中的哈希表

    当插入数据时,首先计算键的哈希码,接着利用`index = hashcode % size`计算出数组索引,再将对应的条目(entry)放置于该索引处。如果多个条目拥有相同的索引,则形成链表结构,由`next`字段链接后续元素。 ...

    java中的哈希算法和hashcode深入讲解1

    "java中的哈希算法和hashcode深入讲解" 哈希算法是计算机领域中非常重要的一种技术,它具有非常广泛的应用,例如快速查找和加密。哈希算法可以将任意长度的二进制值映射为较短的、固定长度的二进制值,这个二进制值...

    MD5Util_newspaper4pi_java_哈希值_MD5Util获取hash_

    在Java编程中,MD5(Message-Digest Algorithm 5)是一种常用的哈希算法,能将任意长度的信息映射为128位的二进制数,通常以32位十六进制数表示,因此被称为32位哈希值。 标题"MD5Util_newspaper4pi_java_哈希值_MD...

    JAVA中哈希表HashMap的深入学习

    当两个键的哈希码相同,它们的Entry会被链接到同一个数组位置的链表中。这样,即使哈希冲突,也能通过链表顺序查找找到正确的键值对。 在Java中,HashMap的内部结构是一个Entry数组,每个Entry是一个键值对,同时...

    密码哈希盐加密例子

    密码哈希盐加密测试例子,一个不可反算的,绝对安全的加密

    java用户密码修改

    5. **更新数据库**:使用Java的JDBC(Java Database Connectivity)API连接到MySQL数据库,执行SQL更新语句,将用户的新密码哈希值存储到对应的数据库记录中。 6. **事务处理**:为了保证数据一致性,密码修改操作...

    基于哈希感知的图像相似度判断算法

    在图像相似度判断中,哈希码用于表示图像的主要特征,相似的图像会有相近的哈希码。这种方法的优势在于,通过简单的位运算(如异或或比较)就能快速判断两个图像是否相似,大大提高了计算效率。 1. **哈希函数设计*...

    java中哈希表及其应用详解

    3. **哈希码(Hash Code)**:关键字通过`hashCode()`方法计算得到的整数,用于确定对象在哈希表中的存储位置。 4. **项(Item)**:每个`Item`包含一个键和一个值,键和值都可以是任意类型的`Object`,但不能为空。...

    哈希表在java中如何实现1

    哈希表在Java中是一种高效的数据结构,用于快速查找、插入和删除数据。它通过将键(Key)转换成一个哈希地址来实现这些操作。本文将深入探讨哈希表的实现原理,以及在Java中如何构建哈希函数。 首先,我们需要理解...

Global site tag (gtag.js) - Google Analytics