[英]Java efficiently store large amount of sorted data
通常,當我想在Java中存儲大量數據時,我使用Set<String>
,它非常快速且高效。
Set<String> example = new HashSet<String>();
但是問題是它無法排序。 我不能使用Lists
因為我要存儲大量數據(100,000個數據),並且使用List
會嚴重影響程序性能。
ArrayList<String> example = new ArrayList<String>()
還有另一種方法嗎? 我需要對我的數據進行排序(按日期),並且新元素會不斷添加到List
。
您可以使用TreeSet! 使用TreeSet並一一添加值。 當您獲取值時,它將為您提供數據的排序值。
如果您只是想以排序形式保存數據,那么最有效的解決方案是:
ArrayList
。 Arrays.sort
對數組進行排序。 O(logN)
“二進制搜索”。 如果您希望能夠構建散布的構建和搜索,請使用TreeSet。 這將使用更多的內存,但是對於增量構建的集合,它將更快,並且搜索性能將大致相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.