为了便于理解,我试图在这里提出我的要求的简化版本。
我有这门课
public class MyClass {
private byte[] data1;
private byte[] data2;
private long hash1; // Hash value for data1
private long hash2; // Hash value for data2
// getter and setters }
现在我需要在这个类的 2 个 List 实例之间进行搜索,找到这 2 个实例之间有多少 hash1 匹配,以及所有匹配有多少对应的 hash2 匹配。2 列表将有大约 1000 万个 MyClass 对象。
现在我打算遍历第一个列表并在第二个列表中搜索。有没有一种方法可以通过以任何特定方式排序或排序来优化搜索?我应该对两个列表进行排序还是仅对 1 个列表进行排序?