Map和List的对象是否是同一对象(并说明hash冲突)
来源:互联网 发布:java类和对象ppt 编辑:程序博客网 时间:2024/05/21 11:37
先上代码,根据结果说明:
public static void testList(){Map<String, Object> map = new HashMap<>();for(int i = 0; i<10;i++){List<String> list = new ArrayList<>();list.add("1");map.put(String.valueOf(i), list);System.out.println("map.hashCode: "+map.get(String.valueOf(i)).hashCode());System.out.println("list.hashCode: "+list.hashCode());}System.out.println(map.get("1")==map.get("2"));System.out.println(map.get("1").hashCode());System.out.println(map.get("2").hashCode());}
结果是这样的:
(上面的hashcode是80是我的电脑上的,别的电脑可能就不是80)
上面代码的意思就是说:1、list里面放的值是一样,那么每次new出来的list的hashCode是一样,这样就会出现hash冲突。2、结果中的倒数第三个的false说明这两个list并不是同一个对象,及时是hashCode一样。
下面看另一段代码:
public static void testList(){Map<String, Object> map = new HashMap<>();for(int i = 0; i<10;i++){List<String> list = new ArrayList<>();list.add(String.valueOf(i));map.put(String.valueOf(i), list);System.out.println("map.hashCode: "+map.get(String.valueOf(i)).hashCode());System.out.println("list.hashCode: "+list.hashCode());}System.out.println(map.get("1")==map.get("2"));System.out.println(map.get("1").hashCode());System.out.println(map.get("2").hashCode());}
运行结果如下:
上面代码的意思就是说:1、list里面放的值不一样,那么每次new出来的list的hashCode也是一样,这也不会出现hash冲突了。2、结果中的倒数第三个的false说明这两个list并不是同一个对象,因为hashCode是一样。
总之:hashCode一样,但是对象并不一定是同一个对象,这样会出现hash冲突,hashCode不一样那么这个两个对象肯定不是同一个对象。
阅读全文
2 0
- Map和List的对象是否是同一对象(并说明hash冲突)
- hashSet判断是否是同一对象
- Set和List的区别,List和Map的区别(介绍List,Set,Map对象结构
- jstl中取map,其中map的key是一个对象,value是一个list
- stringutils 判断对象以及对象内的map list是否为空
- 关闭流后返回流对象是否和未关闭流返回对象流是否相同?....经验证,是同一对象..
- 比较是否为同一对象
- map里面放的list,list放的是对象,怎么遍历
- map、list、 数组、 对象 和 json的互转
- Struts2中的List和Map集合对象的异同
- redis Jedis存取list对象和map
- 比较两个实例是否为同一对象的实例化
- struts2返回JSON,jquery解析JSON(返回的可能是LIST,MAP,对象,单个值)
- HashSet 中储存先判断对象的hash值 如果一样 在调用 对象equals方法判断是否是同一个对象
- HashSet 中储存先判断对象的hash值 如果一样 在调用 对象equals方法判断是否是同一个对象
- java classcastexception 哈希表中的对象只能是同一类型的
- 根据表单的name(名字)数组,返回对应的Map对象。Map对象的key是表单的name,Map对象的value是表单的value
- java8 lambda小试牛刀,利用Stream把list转map,并将两个list的数据对象合并起来
- Android Studio 出现Failed to open zip file的问题
- 使用迭代器辅助函数advance,distance,iter_swap
- LeetCode
- human-interface-guidelines_IOS人机交互指南_官方文档翻译_1.2概况_接口要点
- Java新关键字final,super
- Map和List的对象是否是同一对象(并说明hash冲突)
- 用友uap nc65开发-输出模版(打印模版)开发介绍
- vue attr取不到属性值问题
- [windows]常用端口简介
- 确认MyEclipse是不是64位和java jdk是不是64位 A Java Runtime Environment (JRE) or Java Development
- Java 代码规范,你应该知道的一些工具和用法
- 优惠券最优使用算法
- 程序设计基础知识
- ADB