我需要一个可以存储所有国家/地区列表的Java结构。您会推荐哪种Java数据结构?
答案 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来做到这一点。国家列表相当稳定,因此您不需要经常重新编译此类;)