一句話部落格:
自定義類的容器的contains函式需要過載equals函式,格式需要@override和equals的引數列表中應該是object類的。
具體分析過程
在完成mit實驗作業的時候,add函式需要遍歷list 找尋相同的物件。
對vertex類的equals函式定義如下:
// methods
public
boolean
equals(vertex that)
在新增add函式的時候,需要,判斷是否已經存在。
然而在呼叫contains函式的時候,junit檢測add函式出錯。最後確定是contains函式判斷的問題。
然後放棄contains,遍歷整個list,進行逐個的equals的檢查,才通過了測試。
埋下了這個坑,所以寫這個部落格為了填坑。。。
然後contains函式終於好使了!相同的indexof函式也好使了,趕緊回去修改所有的遍歷。。**變得更精簡!
詳述ArrayList類中contains方法
原始碼 contains public boolean contains object o indexof public int indexof object o else return 1 string型別 arraylistnames new arraylist names.add aa sys...
詳述ArryList類中是contains方法
詳述arrylist類中是contains方法 原始碼public boolean contains object o public int indexof object o else return 1 string 型別 arraylistlist new arraylist list.add j...
java 中模擬容器(二)
package com.iteritor public inte ce iteratorcollection介面 package com.iteritor public inte ce collection接著我們在arraylist中實現遍歷,在這兒我們在arraylist中新加入乙個內部類arr...