我需要一个可以存储所有国家/地区列表的 Java 结构。你会推荐哪种 Java 数据结构?
问问题
272 次
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 回答