我想排序大量的字符串(特別是File.list()
,我不能外化或進一步減少),而不使用[多]額外的內存。如何在java中執行內存有效的數組排序?
Arrays.sort()
表示它進行合併排序,而維基百科說,某些實現分配原始數組的大小來存儲排序的輸出。 (這似乎是由方法中的System.arraycopy
引用所支持的)。
是否有一個內置的排序算法,我可以使用,而不是內存效率?
我想排序大量的字符串(特別是File.list()
,我不能外化或進一步減少),而不使用[多]額外的內存。如何在java中執行內存有效的數組排序?
Arrays.sort()
表示它進行合併排序,而維基百科說,某些實現分配原始數組的大小來存儲排序的輸出。 (這似乎是由方法中的System.arraycopy
引用所支持的)。
是否有一個內置的排序算法,我可以使用,而不是內存效率?
您可以編寫用於就地排序的堆排序算法。
您是否樂意手動編寫排序算法有多複雜,並且您希望它是否穩定(意味着等值元素以最初排列的順序出現在最終數組中)?並不是說你可以用String來區別這個區別,除非你開始查看'System.identityHashcode'或其他東西。 –