我必须在Java中预先形成70K记录的记录匹配。一个记录大小为200字节。作为记录匹配过程,所有记录与所有记录进行比较。我的查询是,我如何有效地迭代和执行比较。
答案 0 :(得分:0)
首先,您不需要相互比较。一旦A - B等于B - A,你只需要将其与后继者进行比较。例如,您有{A,B,C,D},然后将A与B,C和D进行比较。将B与C和D进行比较,并将C与D进行比较。这样可以将比较的数量从n ^ 2减少到N!
您可以通过制作搜索块来优化算法。将每个人使用相同的名称和姓氏放在同一个块上。每个人在其他块上都有相同的电子邮件等等。毕竟,您处理每个块,比较他们的记录,如上所述。根据您拥有的记录数量,您将大大缩短处理时间。
答案 1 :(得分:-1)
使用Duke [https://github.com/larsga/Duke]。 不完美,但它是免费的和Java。
我们有更好更快的.NET版本,但它是内部的东西,而不是OSS。