【发布时间】:2014-10-08 09:37:43
【问题描述】:
通常当我想在java中存储大量数据时,我使用Set<String>,它非常快速高效。
Set<String> example = new HashSet<String>();
但问题是无法排序。我不能使用Lists,因为我要存储大量数据(100,000 秒),而使用List 会严重影响我的程序性能。
ArrayList<String> example = new ArrayList<String>()
还有其他方法吗?我需要对我的数据进行排序(按日期),并且不断将新元素添加到 List。
【问题讨论】:
-
数据结构需要动态吗?或者可以假设最大数量的元素?如果是这样,一个简单的数组就可以解决问题。
-
恐怕需要动态的。
-
看看
TreeSet。 -
为什么在 list 中存储 100 000 个字符串会影响您的程序性能,而将它们存储在 set 中不会?您是否需要快速检查集合中是否存在字符串?您还对哪些其他操作感兴趣?
-
除非您清楚描述您的数据结构的关键使用模式(和约束),否则我们无法为您提供任何有价值的建议。
标签: java performance arraylist set