gpt4 book ai didi

java - List 和 Set 的性能和内存分配比较

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

我想知道List和Set在性能、内存分配和可用性方面的比较。

如果我不需要保持对象列表中的唯一性,也不需要维护插入顺序,我可以互换使用 ArrayList 和 SortedSet/HashSet 吗?直接使用 Collections 类而不是 list/set 会更好吗?

附:我也不需要列出或设置 java 提供的特定功能。我使用 List/Set 而不是 Array 只是因为它们可以动态增长而无需额外的编程工作。

最佳答案

对于相同数量的元素(尽管它们仍然是线性的),

HashSet 消耗的内存大约是 ArrayList 的 5.5 倍,并且迭代速度明显较慢(尽管使用相同的渐近线);一个快速的谷歌搜索表明 HashSet 迭代与 ArrayList 相比要慢 2-3 倍。

如果您不关心 contains 的唯一性或性能,请使用 ArrayList

关于java - List 和 Set 的性能和内存分配比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799417/

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