Collection和Map的默认扩容参数
Posted 小知识大力量
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collection和Map的默认扩容参数相关的知识,希望对你有一定的参考价值。
初始大小:调用无参构造函数时默认的容量
加载因子:超过 (当前容量*加载因子) 时会进行扩容
扩容因子:扩容时增加的容量为 (当前容量*扩容因子)
容器 初始容量 加载因子 扩容因子
ArrayList: 10 1 0.5
ArrayList: 10 1 0.5
HashMap: 16 0.75 1
HashSet: 同HashMap
一般而言, 以哈希表 (链表+数组) 作为底层数据结构的容器, 当元素超过加载因子时会进行扩容,如HashMap,HashSet
以数组作为底层数据结构的容器, 当元素超过数组大小时会进行扩容,如ArrayList
以链表作为底层数据结构的容器, 容量没有限制, 不会进行扩容,如LinkedList,TreeMap
扩容比较消耗性能,在能预料到数据量大小时, 应给定稍大于预期数据量的初始容量参数.
ArrayList可接受一个int参数作为初始容量.
HashMap可接受一个int参数作为初始容量和一个float参数作为扩容参数.
HashSet同HashMap
转载:http://blog.163.com/xiong_jinhua/blog/static/236171063201610141612487/
以上是关于Collection和Map的默认扩容参数的主要内容,如果未能解决你的问题,请参考以下文章
html 放置在collection.liquid底部的JavaScript标记,用于处理.sort-by select和.coll-filter选择。
map的常见用法与五种循环遍历源码---人生四季,寒暑交替,只有学会了“map”才能静心体味生活的悲与喜