zoukankan      html  css  js  c++  java
  • hashCode对Map的影响

    // 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方法,避免在散列表中
    * 出现问题

  • 相关阅读:
    Java 中的POJO和JavaBean 的区别
    设计模式的六大原则
    AOP
    Jetbrains 全家桶
    centos7 如何关闭防护墙
    Java 面试题常见范围
    putty readme
    单机环境
    flask-caching缓存
    1.restful 规范与APIView
  • 原文地址:https://www.cnblogs.com/nextgg/p/7641836.html
Copyright © 2011-2022 走看看