0
我對我的二進制搜索樹類的包含方法感到困惑。二進制搜索樹包含方法Java參數
public boolean contains(Object o) {
if (o == null)
{
throw new NullPointerException("Null Items are not allowed in the tree");
}
if (root.item.equals(o))
{
return true;
}
return false;
}
這裏是我的頭:
public class BSTreeSet<E extends Comparable<E>> implements Set<E>, CompareCount {
private Node root =null;
private int size;
private int compareCount;
我的JUnit測試接收到錯誤:
public void testContains() {
BSTreeSet<Integer> testSet = new BSTreeSet<Integer>();
testSet.clear();
testSet.add(10);
testSet.add(20);
testSet.add(30);
testSet.add(40);
testSet.add(15);
testSet.add(25);
testSet.add(5);
testSet.add(1);
assertTrue("contains must return true for the element 10", testSet.contains(10));
我感到困惑如何搜索降權和左側用適當的變量...我知道這是幾乎相同的問題,但我卡住了!
你是什麼意思的「當接口創建此方法」? – qqilihq
當我添加未實現的方法,它會創建一個看起來像下面這樣的默認方法: 公共布爾包含(對象爲arg0){ \t \t \t \t返回FALSE; – EllioLintt
如果你的接口需要一個Object參數,你需要使用它。但請注意,您的問題中的「包含」方法實際上有兩個**參數。 – qqilihq