Object.hasCode()默认使用对象的地址计算散列码。 Object.equals()默认比较对象地址。 一、散列与散列码 Hash结构容器散列原理(大致的原理,没有必要较真) 数组保存ArrayList的引用,散列码就是数组的下标值。存储元素时计算散列码,找到元素所属List,用该对象eq ...
分类:
其他好文 时间:
2019-09-20 21:26:31
阅读次数:
92
CLR自动维护一个称为”内置池“(暂存池)(intern pool)的表,在编译时此表包含程序中声明的每个唯一的字符串常量的单个实例,以及以编程方式创建的String类的任何唯一实例。 内置池被实现为散列表。使用散列表即表示,一个字符串可以通过一个数字或”散列码“来表示。这样比较和搜索字符串就非常有 ...
分类:
Web程序 时间:
2019-08-27 01:20:00
阅读次数:
128
一、hashCode 与 equals (重要) 面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” 1.1、hashCode()介绍 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这 ...
分类:
编程语言 时间:
2019-08-01 11:45:24
阅读次数:
94
1.hashcode()和equals()是在哪里被用到的?什么用的? HashMap是基于散列函数,以数组和链表的方式实现的。而对于每一个对象,通过其hashCode()方法可为其生成一个整形值(散列码),该整型值被处理后,将会作为数组下标,存放该对象所对应的Entry(存放该对象及其对应值)。e ...
分类:
编程语言 时间:
2019-06-19 00:22:15
阅读次数:
149
一、ssh命令 登录类型 1. 密码登录: 服务器发送公钥给客户端,客户端使用公钥加密后回传给服务器,服务器解密验证密码。 2. 公钥登录: 服务器发送一个随机字符串给客户端,客户端用私钥加密,服务器用公钥解密(rsa作为签名使用) ssh命令相关参数 1. A 密钥转发 这个参数在使用跳板机等场景 ...
分类:
其他好文 时间:
2019-05-26 17:38:00
阅读次数:
121
1.HashSet HashSet是无序的,而且里面的元素不可重复,每个对象都有其对应的hashCode()方法,hashCode()方法主要是获得该对象的散列码,其值就是对象的内存地址,但是String除外。 ArrayList如果不知道元素的下标那么就要全部遍历一遍,而HashSet则不用,所以 ...
分类:
其他好文 时间:
2019-05-04 14:57:54
阅读次数:
162
面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” hashCode()介绍 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashC ...
分类:
其他好文 时间:
2019-04-23 19:21:45
阅读次数:
159
chapter 17 容器深入研究 填充容器 一种Generator解决方案 Set和存储顺序 队列 优先级队列 理解Map 性能 SortedMap 散列与散列码 为速度而散列 覆盖hashCode() Collection或Map的同步控制 快速报错 在获取迭代器后,容器发生了变化。 ...
分类:
编程语言 时间:
2019-01-08 17:49:01
阅读次数:
160
本文博客原文 参考文章:http://blog.sina.com.cn/s/blog_4f36423201000c1e.html 一、概述 java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。简单点说就是用于生成散列码。信息摘要 ...
分类:
其他好文 时间:
2018-12-19 12:56:16
阅读次数:
238
理论知识: 一般将数据结构分为两大类:线性数据结构和非线性数据结构 线性数据结构:线性表、栈、队列、串、数组和文件 非线性数据结构:树和图。 线性表:1.所有数据元素在同一个线性表中必须是相同的数据类型。 2. 线性表按其存储结构可分为顺序表和链表 3. 用顺序存储结构存储的线性表称为顺序表 4. ...
分类:
其他好文 时间:
2018-11-11 14:18:02
阅读次数:
173