1

是否有任何特定的 API 需要使用?有人可以发布如何实施它。

任何建议将不胜感激。

4

2 回答 2

5

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

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

当您谈论数据量时,它带有两件事:

  1. 表现
  2. 记忆。

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

如果HashSet它还为基本操作(add, remove, contains and size)提供恒定的时间性能,假设哈希函数将元素正确地分散在桶中。

HashMapO(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

于 2012-11-30T05:45:29.567 回答
1

如果没有上下文和频繁操作的任何进一步信息,似乎最好使用简单的字符串数组或嵌入式 java DB。

于 2012-11-30T07:05:18.263 回答