use*_*497 0 java android arraylist hashmap capacity
如果我添加的项目多于容量中指定的项目,请告诉我HashMap中旧项目的内容是什么?例如:
HashMap<String, Bitmap> hashmap= new HashMap<String, Bitmap>(5);
Run Code Online (Sandbox Code Playgroud)
我将容量设置为5.但如果我将10个项目添加到此HashMap,前5个项目和位图将会是什么?
您只需指定初始容量 - HashMap无论如何都会增长,在内部复制内容.它仅作为优化提供,因此如果您知道需要大容量,则可以从该容量开始,以便不需要复制.
从文档:
HashMap的一个实例有两个影响其性能的参数:初始容量和负载因子.容量是哈希表中的桶数,初始容量只是创建哈希表时的容量.加载因子是在自动增加容量之前允许哈希表获取的完整程度的度量.当哈希表中的条目数超过加载因子和当前容量的乘积时,哈希表将被重新哈希(即,重建内部数据结构),以便哈希表具有大约两倍的桶数.
...
如果要将多个映射存储在HashMap实例中,那么使用足够大的容量创建映射将允许映射更有效地存储,而不是根据需要执行自动重新散列来增长表
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |