☆☆☆★☆☆☆

唯有努力才能活成自己想要活成的样子

导航

hash算法学习

总结下在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

posted on 2020-04-24 12:04  Yr-Zhang  阅读(229)  评论(0编辑  收藏  举报