我正在寻找一些关于从输入文件中排序大量字符串的想法,并将排序后的结果打印到Java中的新文件中。要求是输入文件可能非常大。我需要考虑解决方案中的性能,所以任何想法?
答案 0 :(得分:2)
External Sorting技术通常用于对大量数据进行排序。可能这就是你需要的。
externalsortinginjava是这个的java库。
答案 1 :(得分:1)
SQL数据库是否可用?如果您将所有数据插入到表中,并且可排序的列或部分已编入索引,则您可能(或可能不)能够更有效地输出排序结果。如果数据量超过可用RAM的数量,此解决方案也可能有用。
知道它有多大,目的是什么会很有趣。
答案 2 :(得分:1)
将文件分解为可在内存中读取的数量。 对每个金额进行排序并写入文件。 (如果你可以把所有东西都装进记忆中就可以了) 合并将生成的文件排序为单个排序文件。
您还可以进行基数排序以提高CPU效率,但主要的瓶颈是您必须重写和重新阅读。