码迷,mamicode.com
首页 > 其他好文 > 详细

hashCode对Map的影响

时间:2017-10-09 17:47:59      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:sys   integer   散列表   rem   指针   ash   修改   内存   method   

// TODO Auto-generated method stub
Map<point, Integer> map=new HashMap<point,Integer>();
point p=new point(1, 2);
map.put(p, 100);
Integer i=map.get(p);
System.out.println(i);
/**
* 改变key的hashCode的值
* 这组数据,不再被指向
* 从一个新的内存中是空的去取得 value
* 空了
*/
p.setX(2);
i=map.get(p);
System.out.println(i);
/**
* 此时的Map中还是含有原来的数据
*/
System.out.println(map);
/**
* 在重新存入,修改后的p
* 原来的空内存,有值了
*/
map.put(p, 200);
System.out.println(map);
/**
* 删除200
*
*/
map.remove(p);
System.out.println(map);
/**
* 删除100的
* 需要把指针指向 原来的值
*/
p.setX(1);
map.remove(p);
System.out.println(map);

}

 

重写equals方法时必须重写hasCode方法,避免在散列表中
* 出现问题

hashCode对Map的影响

标签:sys   integer   散列表   rem   指针   ash   修改   内存   method   

原文地址:http://www.cnblogs.com/nextgg/p/7641836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!