HashMap的clear方法

咱们都知道HashMap的clear()方法会清楚map的映射关系,至于怎么实现的呢?html

下面先看一下clear()方法的源码算法

 public void clear() {
        Node<K,V>[] tab;
        modCount++;
        if ((tab = table) != null && size > 0) {
            size = 0;
            for (int i = 0; i < tab.length; ++i)
                tab[i] = null;
        }
    }

可见方法只是把table[]置空了了table数组的元素,及链表的表头元素,若是表头被置为null,没法进入该链表,,而存的key-value呢?数组

原来现代的虚拟机都采用了可达性分析算法来判断一个对象是否存活,当一个对象不能经过任何引用找到它就认为它是不可达的,从而视为可回收的对象,全部存的数据都被gc自动回收了。框架

 

原本想总结一下Java的集合框架呢,可是发现了一个很全的网址,做者也很用心,这里推荐一下http://www.cnblogs.com/skywang12345/p/3323085.htmlspa

相关文章
相关标签/搜索