我有一个较大的 csv 文件,其中包含 1.5K 个条目。每个条目代表全局的一个城市,具有名称、纬度和经度。在 Java 中搜索 csv 的最佳和快速方法是什么?我想用所有条目填充一个 ArrayList,但我认为它很慢(除非我错了)。不,这个文件不会变大,差不多有 100KB。我希望能够输入城市名称并更新搜索结果;但这我可以自己弄清楚。
最佳答案
大约 1 MB 的 1.5K 条目文件应该花费数十毫秒。一个 1 GB 的文件可能需要几十秒,可能值得为此文件保存一个索引,以免每次都重新读取它。
您可以加载到 map 中以通过 name
进行索引
您可以通过 NavigableMap 添加纬度和经度索引。这将加快按位置查找的速度。
加载一次文件需要一点时间,但是每次从磁盘读取文件要慢得多。
顺便说一句,您可以拥有 100 TB 的数据和数万亿行,要在 Java 中使用这些数据,您必须发挥创意。
简而言之,如果它比你的内存少得多,它就是相对较小的文件。
关于java - 在 Java 中搜索大型 csv 的最佳/有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187150/