[問題] HashSet remove(解決)

看板java作者 (nahgnimiast)時間13年前 (2012/12/24 02:05), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
HashSet<String> hs=new HashSet<String>(); hs.add("b"); hs.add("a"); hs.add("c"); hs.add("d"); // remove hashset object hs.remove("c"); ---------------------- 以上的網路找到的範例。 我想請問,remove是怎麼判斷可移除的條件。 比如我現在改用自定的class XXX HashSet<XXX> hs.add(new XXX()) hs.remove(new XXX()) ------------- 上面這作法應該不行吧?那String可以這樣寫的原因? 如果我現在add的String是動態產生,也可以這樣用嗎? -- 版上有HashSet的文章,說到要對XXX class作 hashcode和equals的法方法。 String有equals的法法,所以兩個"c"會當作相同 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: tsaiminghan 來自: 111.241.128.240 (12/24 02:12)

12/24 09:18, , 1F
有個慣例是當兩物件equals傳回true時,hashcode的值也一樣
12/24 09:18, 1F
文章代碼(AID): #1GrqVXz5 (java)