关键还是看数据量大小, 如果可以在内存里,直接用 java.util.TreeSet 就解决了。 如果数据量特别大,不适合直接在内存里处理,又不想自己写太复杂的算法,就用临时文件,分段缓存,先保证唯一性,再对每一段进行排序,最后组合起来。更简单的一点的办法就是用数据库,比如 SQLite,全部插入,排序,去重,处理起来都比较简单了。
关键还是看数据量大小,
如果可以在内存里,直接用
java.util.TreeSet
就解决了。如果数据量特别大,不适合直接在内存里处理,又不想自己写太复杂的算法,就用临时文件,分段缓存,先保证唯一性,再对每一段进行排序,最后组合起来。更简单的一点的办法就是用数据库,比如 SQLite,全部插入,排序,去重,处理起来都比较简单了。