检查地图是否包含点作为键

时间:2015-05-03 21:32:47

标签: java hashmap point

我正在与一个学校项目合作,在我可以用30分钟递交之前得到一个小小的东西!

我有一张地图,我可以放置地方!这些地方有x和y坐标。我可以隐藏这些地方,然后我有一个按钮,然后我可以点击我的地图,如果有任何地方藏在那里。问题是我无法让它发挥作用。

我有一个hashmap,它将我的位置类作为键,将该位置作为值。

我从我点击的地方得到我的x和y,我想检查我的位置图是否包含了..这是我的代码到目前为止

class WihMouseLis extends MouseAdapter{
    @Override
    public void mouseClicked(MouseEvent mev){
        int x = mev.getX();
        int y = mev.getY();



        if(posMap.containsKey(new Position(x,y))){
            System.out.println("TEST! did i hit it?");
        }


    }
}

还有其他办法还是我做错了!我已在我的职位类中完成了自己的equals和hashCode方法!

我的职位等级

import javax.swing.*;

import java.awt.*;

public class Position extends JComponent {
  private int x,y;

  public Position(int x, int y){
    this.x=x;
    this.y=y;   
  }

  public int getX() {
    return x;
  }

  public int getY() {
    return y;
  }

  public int HashCode(){
    return x*1000+y;    
  }

  public boolean equals(Object other){
    if(other instanceof Position){
        Position p = (Position)other;
        return p.x==x && p.y==y;
    } else {
        return false;
    }
  }
}

0 个答案:

没有答案