作者tsaiminghan (nahgnimiast)
看板java
标题[问题] HashSet remove
时间Mon Dec 24 02:05:18 2012
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)
1F:推 LaPass:有个惯例是当两物件equals传回true时,hashcode的值也一样 12/24 09:18