-3

我需要一个可以存储所有国家/地区列表的 Java 结构。你会推荐哪种 Java 数据结构?

4

6 回答 6

2

您可以使用避免重复的Set集合实现(如果只是名称)。HashSet如果要保留国家代码和名称,则可以Map收藏。

于 2012-07-16T19:43:58.927 回答
2

你要遍历集合吗?如果是这样,java.util.ArrayList。

你打算用它来做某种查找吗?就像“这是否存在”场景?如果是这样,java.util.HashSet

您是否需要为每个国家/地区附加附加信息?如果是这样,java.util.HashMap

您需要查找和有序迭代吗?如果是这样,java.util.TreeSet。

还有并发需要关注,但我没有看到任何提及它,所以我将离开那些人。

于 2012-07-16T19:47:59.570 回答
0

我认为 HashSet 应该是合适的,只要你不希望有重复。HashSet 提供恒定时间查找,这将加快搜索速度。如果您希望数据结构由多个线程访问和修改,您可以考虑其他线程安全变体,例如 Collections.SynchronizedSet 或 CopyOnWriteArrayList。您需要提供有关用例的更多详细信息以缩小您的选择范围

于 2012-07-16T19:49:17.980 回答
0

您应该使用 HashSet 来提供集合中元素的唯一性和关键字搜索的恒定时间。

于 2012-07-16T19:46:07.527 回答
0

尝试使用Dictionary<k,v>,我推荐它

于 2012-07-16T19:46:50.627 回答
0

我最近做了非常相似的事情,因为我的应用程序中有一个语言列表。我只是使用枚举来做到这一点。国家/地区列表相当稳定,因此您不需要经常重新编译此类;)

于 2012-07-16T19:52:22.033 回答