gpt4 book ai didi

java - 如何对非常大的文件进行排序

转载 作者:IT老高 更新时间:2023-10-28 21:13:32 26 4
gpt4 key购买 nike

我有一些文件应该根据每行开头的 id 进行排序。这些文件大约为 2-3 GB。

我尝试将所有数据读入 ArrayList 并对其进行排序。但是内存不足以保存所有这些。它不起作用。

线条看起来像

0052304 0000004000000000000000000000000000000041 约翰·泰迪 000023
0022024 0000004000000000000000000000000000000041 乔治家族 00013

如何对文件进行排序??

最佳答案

这不完全是 Java 问题。您需要研究一种有效的算法来对未完全读入内存的数据进行排序。对 Merge-Sort 的一些调整可以实现这一点。

看看这个: http://en.wikipedia.org/wiki/Merge_sort

和: http://en.wikipedia.org/wiki/External_sorting

这里的想法基本上是将文件分成更小的部分,对它们进行排序(使用合并排序或其他方法),然后使用合并排序中的合并来创建新的排序文件。

关于java - 如何对非常大的文件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com