「java设置集合初始容量」java设置集合长度

博主:adminadmin 2022-11-26 12:18:06 90

本篇文章给大家谈谈java设置集合初始容量,以及java设置集合长度对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 泛型后面的()初始容量和加载因子,到底什么意思?

Hashtable的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,通过调用 rehash 方法将容量翻倍。

通常,默认加载因子 (.75) 在时间和空间成本上寻 求一种折衷。加载因子过高虽然减少了空间开销,但同时也增加了查询成本(在大多数 Hashtable类的操作中,包括 get 和 put 操作,都反映了这一点)。在设置初始容量时应该考虑到映射中所需的条目数及其加载因子,以便最大限度地降低 rehash 操作次数。如果初始容量大于最大条目数除以加载因子,则不会发生 rehash 操作。

如果很多映射关系要存储在 Hashtable实例中,则相对于按需执行自动的 rehash 操作以增大表的容量来说,使用足够大的初始容量创建它将使得映射关系能更有效地存储。

注意,此实现不是同步的。如果多个线程同时访问此映射,而其中至少一个线程从结构上修改了该映射,则它必须 保持外部同步。

Java集合类框架的最佳实践有哪些?

1、根据应用的需要正确选择要使用的集合的类型对性能非常重要,比如:假如元素的大小是固定的,而且能事先知道,就应该用Array而不是ArrayList。

2、有些集合类允许指定初始容量。因此,如果能估计出存储的元素的数目,可以设置初始容量来避免重新计算hash值或者是扩容。

为了类型安全,可读性和健壮性的原因总是要使用泛型。同时,使用泛型还可以避免运行时的ClassCastException。

3、使用JDK提供的不变类(immutableclass)作为Map的键可以避免为自己的类实现hashCode()和equals()方法。

4、编程的时候接口优于实现。

5、底层的集合实际上是空的情况下,返回长度是0的集合或者是数组,不要返回null。

java中怎样用构造函数对集合进行初始化呀?

一般创建集合都用无参构造器TreeSet

treeSet=newTreeSet

();创建的集合是空的,要添加数据调用它的add(...)方法添加,如果TreeSet

treeSet=newTreeSet

(treeSet);使用的是有参构造器,在创建集合的时候就已经在里面添加初始数据了,意思就是对集合进行初始化了。

java设置集合初始容量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java设置集合长度、java设置集合初始容量的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。