在Java中对大量字符串进行排序的高效且可扩展的方法

时间:2012-02-03 16:31:49

标签: java performance sorting collections scalability

我正在寻找一些关于从输入文件中排序大量字符串的想法,并将排序后的结果打印到Java中的新文件中。要求是输入文件可能非常大。我需要考虑解决方案中的性能,所以任何想法?

3 个答案:

答案 0 :(得分:2)

External Sorting技术通常用于对大量数据进行排序。可能这就是你需要的。

externalsortinginjava是这个的java库。

答案 1 :(得分:1)

SQL数据库是否可用?如果您将所有数据插入到表中,并且可排序的列或部分已编入索引,则您可能(或可能不)能够更有效地输出排序结果。如果数据量超过可用RAM的数量,此解决方案也可能有用。

知道它有多大,目的是什么会很有趣。

答案 2 :(得分:1)

将文件分解为可在内存中读取的数量。 对每个金额进行排序并写入文件。 (如果你可以把所有东西都装进记忆中就可以了) 合并将生成的文件排序为单个排序文件。

您还可以进行基数排序以提高CPU效率,但主要的瓶颈是您必须重写和重新阅读。