HashMap的clear方法
Posted 143401010116
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap的clear方法相关的知识,希望对你有一定的参考价值。
我们都知道HashMap的clear()方法会清楚map的映射关系,至于怎么实现的呢?
下面先看一下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.html
以上是关于HashMap的clear方法的主要内容,如果未能解决你的问题,请参考以下文章