hashset
windy26205
这个作者很懒,什么都没留下…
展开
-
java中HashSet中的去重以及容量扩增原理
首先需要明白java中HastSet实际上是用散列表实现的,散列表的大小默认大小为16(也叫散列表元的数量),加载因子为0,75(下面会解释什么是加载因子)。去重原理:当hashset add一个元素A的时候,首先获取这个元素的散列码(hashcode方法),假设散列码为400,然后将散列码对散列表元的数量取模,400%16=0;0表示第一个元素,然后将元素A与散列表中的第一个链表原创 2012-02-08 10:03:31 · 3373 阅读 · 0 评论 -
java集合框架中的几种扩容方式小结
对于java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式:1、对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数组的非空元素除以数组大小超过加载因子时,链表数组长度变大(乘以2+1),然后进行重新散列。2、对于以数组为底层数据结构实现的,譬如ArrayList,当数组满了之后,数组长度变大(乘以3/2原创 2012-02-10 00:48:31 · 3257 阅读 · 0 评论