看板 java 關於我們 聯絡資訊
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)
LaPass:有個慣例是當兩物件equals傳回true時,hashcode的值也一樣 12/24 09:18