通常,当我想在java中存储大量数据时,我使用Set<String>
,这非常快速有效。
Set<String> example = new HashSet<String>();
但问题是它无法排序。我无法使用Lists
因为我存储了大量数据(100,000个),使用List
会严重影响我的程序性能。
ArrayList<String> example = new ArrayList<String>()
还有另一种方法吗?我需要对数据进行排序(按日期说),并且新元素会不断添加到List
。
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用TreeSet!使用TreeSet并逐个添加值。当您获得值时,它将为您提供数据的已排序值。
答案 2 :(得分:0)
如果您只想以排序的形式保存数据,那么最有效的解决方案是:
ArrayList
。Arrays.sort
对数组进行排序。O(logN)
。如果您希望能够构建散布构建和搜索,请使用TreeSet。这会占用更多内存,但对于逐步构建的集合,它会更快,搜索性能也大致相同。