是否有任何特定的 API 需要使用?有人可以发布如何实施它。
任何建议将不胜感激。
这将取决于您对哪个集合适合的要求,如果它是 String 列表然后使用java.util.List
,或者如果它是 String 集然后使用java.util.Set
或者它也是键值对然后使用Map
。
每个接口的实现也特定于需求。
当您谈论数据量时,它带有两件事:
谈性能,如果是 ArrayList - add 操作在摊销的常数时间内运行,即添加 n 个元素需要O(n)
时间。所有其他操作都以线性时间运行(粗略地说)。与实现相比,常数因子较低LinkedList
。
如果HashSet
它还为基本操作(add, remove, contains and size
)提供恒定的时间性能,假设哈希函数将元素正确地分散在桶中。
HashMap
O(1)
为基本操作 ( get and put
)提供恒定时间性能。
如果大型集合耗尽内存,则谈论内存,这意味着如果你得到OutOfMemoryExcaption
. 然后你必须通过传递来增加你的堆空间-Xmxn
。
-Xmx n
指定内存分配池的最大大小(以字节为单位)。此值必须是大于 2MB 的 1024 的倍数。附加字母 k 或 K 表示千字节,或附加 m 或 M 表示兆字节。默认值为 64MB。此值的上限在 Solaris 7 和 Solaris 8 SPARC 平台上约为 4000m,在 Solaris 2.6 和 x86 平台上约为 2000m,减去开销。像-Xmx2048m
如果没有上下文和频繁操作的任何进一步信息,似乎最好使用简单的字符串数组或嵌入式 java DB。