如何在Java中存储国家/地区列表

时间:2012-07-16 19:42:14

标签: java

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

6 个答案:

答案 0 :(得分:2)

您可以使用像Set这样的HashSet集合实现,避免重复(如果只是名称)。如果您想保留国家/地区代码和名称,则可能会Map收集。

答案 1 :(得分:2)

你要迭代收藏吗? 如果是这样,java.util.ArrayList。

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

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

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

还有并发症需要关注,但我没有看到任何提及它,所以我会放弃那些人。

答案 2 :(得分:0)

您应该使用HashSet,它既可以提供集合中元素的唯一性,也可以提供键搜索的常量时间。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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