gpt4 book ai didi

java - 为什么将 HashSet<>(0) 初始化为零?

转载 作者:IT老高 更新时间:2023-10-28 20:51:32 34 4
gpt4 key购买 nike

我喜欢 HashSet<>() 并在使用默认构造函数初始化它时急切地使用它:

Set<Users> users = new HashSet<>();

现在,我的自动 bean 创建器(JBoss 工具)将其初始化为:

Set<Users> users = new HashSet<>(0);

为什么是? API 告诉我这是初始容量,但将其设为零有什么好处?这是建议吗?

最佳答案

default initial capacity is 16 ,因此如果最终没有将任何内容放入集合中,则通过传入 0 可以节省几个字节的内存。

除此之外没有真正的优势;当您传递 0 时,将创建容量为 1 的集合,并且一旦您添加了某些内容,它就必须调整大小。

关于java - 为什么将 HashSet<>(0) 初始化为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18076492/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com