我正在遷移一些代碼到GNU trove出於性能原因。SortedSet與整數與GNU trove
不過,我確實有一些TreeSets,我需要相當快的更新和排序的迭代一起查找 - 一個TreeSet的基本用例。當然,我會繼續使用,並檢查我是否可以和HashSet一起生活。
什麼是GNU特羅韋合適的替代品如果SortedSet?
謝謝。
我正在遷移一些代碼到GNU trove出於性能原因。SortedSet與整數與GNU trove
不過,我確實有一些TreeSets,我需要相當快的更新和排序的迭代一起查找 - 一個TreeSet的基本用例。當然,我會繼續使用,並檢查我是否可以和HashSet一起生活。
什麼是GNU特羅韋合適的替代品如果SortedSet?
謝謝。
更新:我發現在特羅韋Sourceforge上的相關功能要求:http://sourceforge.net/tracker/index.php?func=detail&aid=1631704&group_id=39235&atid=424685
似乎沒有成爲一個SortedSet的,到目前爲止,特羅韋的好處似乎是不太大的位置:它會節省一些內存的原始類型(並避免裝箱),但數據的算法組織可能會相同,並且仍然需要輸入對象。
更新#2:
對於許多使用情況 - 這取決於你的寫訪問模式 - ,你應該能夠通過只使用一個TIntArrayList
和使用進行查找binarySearch
方法來獲得不俗的表現(其假設要排序的數組!)
插入到有序數組是O(n),所以這不是一個選項,當你執行一噸修改爲數組,每個查詢後。但是,如果您的更改是批量添加,每次更新後只需撥打sort
就會給您帶來驚人的性能提升!
@Gray:你的評論全是假的。這根本不相關。你不明白OP的問題。這會在您的評論和答案中顯示。 –
謝謝我刪除它。 – Gray