0
ハッシュテーブルを使用しようとしていますが、オブジェクトを検索しようとしているときにオブジェクトが表示されませんが、印刷すると表示されます。JavaでHashTableを使用する際の問題
ノードクラス:
public class Node {
int x;
int y;
public Node() {
this.x=0;
this.y=0;
}
public Node(int x,int y) {
this.x=x;
this.y=y;
}
public String toString(){
return "(Node: x,y="+Integer.toString(x)+","+Integer.toString(y)+")";
}
}
メインクラス:
public class GridWalk {
static Hashtable <Node, Integer> myMap;
static Stack<Node> nodes;
public static void main(String[] args) {
myMap = new Hashtable<Node,Integer>();
nodes=new Stack<Node>();
Node start=new Node(0,0);
Node new1= new Node(100,100);
myMap.put(new1,new Integer(1));
Node new2=new Node (100,100);
System.out.println("Already there ? huh: "+new2.toString()+" at "+myMap.get(new2));
}
}
私は、印刷ラインをするとき、私はNULLを取得しています。どんな考え?
そして 'hashCode'。 –
だから、メソッドは次のようなものでなければなりません:Boolean equals(Node node1、Node node2)、右? – Ahsan
入手:public boolean equals(Object obj) { \t return(this == obj); } – Ahsan