gpt4 book ai didi

java - 使用什么高效的 Java 集合来存储一百万个字符串?

转载 作者:行者123 更新时间:2023-12-01 18:57:00 27 4
gpt4 key购买 nike

有没有需要使用的特定API?有人可以发布如何实现它吗?

如有任何建议,我们将不胜感激。

最佳答案

这将取决于您的要求,哪个集合适合,如果它是字符串列表,则使用java.util.List,或者如果它是字符串集,则使用java.util .Set或者也是键值对然后使用Map

每个接口(interface)的实现也特定于需求。

当您谈论数据量时,它涉及两件事:

  1. 性能
  2. 内存。

谈论ArrayList的性能 - 添加操作以摊余常量时间运行,即添加n个元素需要O(n)时间。所有其他操作都以线性时间运行(粗略地说)。与 LinkedList 实现相比,常数因子较低。

对于HashSet,它还为基本操作(添加、删除、包含和大小)提供恒定时间性能,假设哈希函数将元素正确地分散在存储桶中。

HashMap 为基本操作(get 和 put)提供恒定时间性能 O(1)

谈论内存,如果大型集合耗尽内存,这意味着如果您得到OutOfMemoryExcaption。然后,您必须通过传递 -Xmxn 来增加堆空间。

-Xmxn
Specify the maximum size, in bytes, of the memory allocation pool. This value must a multiple of 1024 greater than 2MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 64MB. The upper limit for this value will be approximately 4000m on Solaris 7 and Solaris 8 SPARC platforms and 2000m on Solaris 2.6 and x86 platforms, minus overhead amounts. like -Xmx2048m

关于java - 使用什么高效的 Java 集合来存储一百万个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639712/

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