我需要在集合中存儲大量的字符串。因爲我只有鑰匙,所以我不需要地圖。數據量可能會達到400萬或更多。目前我正在使用LinkedHashSet。 linkedhashSet的性能很好,但它使用了很多內存。我試過LinkedList,它需要很多時間。用於存儲大量數據的最佳集合
我的要求是我需要維護插入順序。檢查每個項目在列表/集合中是否存在,如果存在則拋出錯誤。
我也嘗試使用逗號分隔的字符串,但它也沒有提供太多的改善。
有沒有人可以提出更好的解決方案。
我需要在集合中存儲大量的字符串。因爲我只有鑰匙,所以我不需要地圖。數據量可能會達到400萬或更多。目前我正在使用LinkedHashSet。 linkedhashSet的性能很好,但它使用了很多內存。我試過LinkedList,它需要很多時間。用於存儲大量數據的最佳集合
我的要求是我需要維護插入順序。檢查每個項目在列表/集合中是否存在,如果存在則拋出錯誤。
我也嘗試使用逗號分隔的字符串,但它也沒有提供太多的改善。
有沒有人可以提出更好的解決方案。
您是否嘗試實施TRIE?它維護按字母順序排序的單詞,並且佔用更少的內存,因爲您不爲每個字符串維護單獨的對象。您只需在一個節點中存儲一個字符。 參見https://forums.oracle.com/forums/thread.jspa?messageID=8787521 和http://en.wikipedia.org/wiki/Trie
我想維護treeset doesnt的插入順序 – PrabhaT
你試過TreeSet嗎? – PermGenError