首页 > 编程语言 > 详细

hash算法学习

时间:2020-04-24 13:26:56      阅读:66      评论:0      收藏:0      [点我收藏+]

总结下在java使用到hash的地方,因个人知识欠缺,整理不全请谅解

HashSet特点:

  1. 不允许存储重复的元素
  2. 没有索引,没有带索引的方法,也不能使用普通的for循环遍历
  3. 是一个无序的集合,存储元素和取出元素的顺序有可能不一致
  4. 底层是一个哈希表结构(查询的速度非常快)
  5. HashSet集合存储数据的结构(哈希表)哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实际存储的物理地址),在Object类有一个方法,可以获取对象的哈希值

LinkedHashSet集合:

  1.LinkedHashSet集合特点:底层是一个哈希表(数组+链表/红黑树+链表:多了一条链(记录元素的存储顺序),保存元素有序

HashSet<String> set = new HashSet<>();//[]无序,不允许重复
LinkedHashSet<String> set = new LinkedHashSet<>();[]//有序,不允许重复

hashCode方法:

bean重写hashCode方法和equals方法

 

感谢分享者https://blog.csdn.net/u012834750/article/details/80005162

hash算法学习

原文:https://www.cnblogs.com/zyanrong/p/12766535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!