java源码--HashMap扩容机制学习

待完成

Java中hash算法细述

https://blog.csdn.net/majinggogogo/article/details/80260400

java HashMap源码分析(JDK8)

https://www.cnblogs.com/hfczgo/p/4033283.html

大数据java基础之浅谈位运算——异或(运用在hashcode中)

https://blog.csdn.net/qq_40707682/article/details/81260329

HashMap实现原理简析(哈希表)

https://www.jianshu.com/p/df4a907ef4ef


又浪费的一周时间,该是动动脑了。

HashMap类,呈现出来的表面是,我们可以用键值对的方式来存储我们要存的数据,然后灵活的取数据。

好像日常工作中就用到这个。这是当初作为一个新人的认识。

如下:

    public static void testHashMap() {
        HashMap<String,Object> mHashMap=new HashMap<>();
        int a=1;
        String b="我想要成为怎么样的人";
        
        mHashMap.put("123", a);
        mHashMap.put("456", b);
        
        String tmpObject = String.valueOf(mHashMap.get("123"));
        System.out.println(tmpObject);
    }

我们最常用的put和get方法,

还有遍历hashMap所有节点。话说以前都还不知道怎么遍历Map对象(挠头表情)

        //第一种:普通使用,二次取值,keySet方法获取Set集合,遍历key的集合来获取值valuefor(String key:map.keySet())
        {
         map.get(key);
        }
        
        //第二种:获得Map.Entry<K,V>接口的Set集合,然后使用Iterator接口遍历这个set集合获得Key,Value 
        Iterator map1it=map.entrySet().iterator();
        while(map1it.hasNext())
        {
      获得一个Entry<Key,Value>,处理逻辑 Map.Entry
<String, String> entry=(Entry<String, String>) map1it.next();
      entry.getKey()
      entry.getValue()
} //第三种:推荐,尤其是容量大时 System.out.println(" 通过Map.entrySet遍历key和value"); for(Map.Entry<String, String> entry: map.entrySet()) { System.out.println("Key: "+ entry.getKey()+ " Value: "+entry.getValue()); }
原文地址:https://www.cnblogs.com/gne-hwz/p/10042740.html