arrayList hashset的比较及hashcode分析
来源:互联网 发布:网络即时通讯工具问卷 编辑:程序博客网 时间:2024/05/18 13:10
这段时间学习了一些java基础的知识,其中一些是我之前不知道的,记录下来希望自己好好体会。
集合按照引用的对象将其放进去的,按照顺序将其放进去,指的是位置的顺序。 ArrayList好理解,下面就重点谈谈对hashset的理解。
但是hashset不是,先判断是不是 有这个对象,如果存在,那么就不放了。
先看一个例子:
这种情况下输出一下集合中元素个数是2。
那么如果把自定义的hashcode方法去掉, 使用默认的hashcode方法结果是3。
问题:hashcode的作用是什么呢?
当面对大量数据进行查询时,如何快速找到要查询的数据呢?hash算法其实就是提供了一个类似分组的功能,然后在每个小组内进行查找。这样便提高了查询效率,其中hashcode就是对数据进行分组的依据。
所以这里有两个约定:
1、如果两个对象equals方法相等,那么hashcode方法也相等。
2、对于那些参与生成hashcode的对象遍历,如果存储到hashset中之后就不要再改变这些变量的值了,否则容易引起内存泄漏。
上面这个代码就报错了,因为在hashset中找不到跟pt1相等的变量。所以说在java中是存在内容泄漏的。
学习总结:
1、很多时候因为我们知识不足很难更深入得了解一个知识,这时候我们就需要善于站在巨人肩膀上进行学习。
2、对于未来,只有善于学习的人才能立于不败之地。学习能力是很重要的核心竞争力。
0 0
- ArrayList、HashSet的比较及Hashcode分析
- ArrayList、HashSet的比较及Hashcode分析
- arrayList hashset的比较及hashcode分析
- ArrayList与HashSet比较及HashCode分析
- 黑马程序员---ArrayList和HashSet的比较、hashCode的分析
- ArrayList与HashSet的比较,以及HashCode分析, 内存泄露
- ArrayList HashSet的比较,以及HashSet分析
- 黑马程序员-ArrayList、HashSet比较和HashCode分析
- ArrayList和HashSet对的比较及HasCode分析
- java学习之ArrayList和HashSet的比较以及HashCode分析
- java基础巩固系列(五):ArrayList与HashSet的比较,以及HashCode分析
- ArrayList,HashSet的比较
- ArrayList 与HashSet的比较,及应用反射读取properties配置文件中的数据进行实例化再调用,以及类加载器的使用;还有HashCode的分析,及导致内存泄露,内存溢出的原因之一
- 黑马java学习笔记_ArrayList 和HashSet的比较及HashCode分析和Java中内存泄漏的探讨
- ArrayList_HashSet的比较及Hashcode分析
- 26 ArrayList_HashSet的比较及Hashcode分析
- ArrayList和HashSet和hashcode
- Java中ArrayList HashSet的使用 以及HashCode的用处
- 18.进程同步与死锁——信号量的代码实现
- BZOJ 1090: [SCOI2003]字符串折叠 区间动归
- nodejs开发——http模块
- 关联规则挖掘-频繁模式挖掘
- 每天读一点好玩心理学--酒吧
- arrayList hashset的比较及hashcode分析
- ext可视化工具Sencha Architect 3破解
- Linux C 字符串操作
- 莫队算法及其应用
- 插入排序
- 使用cocos2dx制作 帧同步 游戏
- Android开发——JobScheduler机制以及Android电量优化
- LintCode 135-数字组合 回溯法
- 每天读一点好玩心理学--记忆