我有一個項目的數組列表,每個項目都有一個將任何其他項目作爲參數的方法。什麼是確保我在每一對可能的項目上調用方法而不重複它們的最有效方法? (所有項目可以被認爲是唯一的)。從ArrayList的所有組合調用方法的最有效方法?
我的代碼:
public boolean hasConflict (ArrayList<Item> items) {
// For every possible pair of items...
one = items.get(i);
two = items.get(j);
if (one.conflictsWith (two)) {
return true;
}
// If we reach the end of the list without finding a conflict
return false;
}
編輯:
one.conflictsWith (two)
將返回相同的值two.conflictsWith (one)
,道歉忘記了。
conflictsWith
方法是不比較,看看這兩個值是否重複,所以不幸的是我不能用一個哈希表來排序它。
不one.conflictsWith(二)返回相同的two.conflictsWith(一個)? – dckuehn