Re: [問題] HashMap: 使用自定類別當作key
※ 引述《hstt ()》之銘言:
: public boolean contains(String s){return x == s || y == s;}
: @Override public boolean equals(Object o){
: if(o == null)
: return false;
: Pair p = ((Pair)o);
: return p.contains(x) && p.contains(y);
: }
: @Override public int hashCode(){
: return x.hashCode() + y.hashCode();
: }
: }
撇開 == 和 equals 的方法不談... 其實你的 algorithm 也很有問題的
試看以下的 test code:
public static void main(String[] argv) {
HashMap<Pair, Integer> hm = new HashMap<Pair, Integer>();
Pair p1 = new Pair(new String("s"), new String("p")),
p2 = new Pair(new String("p"), new String("s")),
p3 = new Pair(new String("nX"), new String("mw")),
p4 = new Pair(new String("mw"), new String( "mw" ));
hm.put(p1, 1);
System.out.println(hm.keySet().contains(p2));
hm.put(p3, 2);
System.out.println(hm.keySet().contains(p4));
}
列印的結果,會是 true 和 true
要說為什麼咧?!!!! ┌(○□○)╭
就是你今天的作業了 (~^O^~)
.... 我好壞... XD
--
《為了要得到真相,就要向原 PO 伸圖》
那就是伸圖魔人的沒圖沒真相原則,那時我們堅信那就是逼逼死的真實
靠么,圖咧?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 147.8.127.102
推
05/22 16:38, , 1F
05/22 16:38, 1F
推
05/22 16:41, , 2F
05/22 16:41, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):