Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的基本矩阵,get方法不';行不通_Java_Matrix_Getter - Fatal编程技术网

Java中的基本矩阵,get方法不';行不通

Java中的基本矩阵,get方法不';行不通,java,matrix,getter,Java,Matrix,Getter,对于我的教育,我必须用Java编写一个基本的矩阵,在其中可以放置元素。元素的行和列应该用一个点实现,然后我应该将点与映射中的元素连接起来。有一个方法put(),我可以用它将元素放入这个矩阵中,并保留一个HashMap。我现在的问题是,我无法正确地看到地图中的元素 public boolean get(int row, int column) { Point p = new Point(); p.x = column; p.y = row;

对于我的教育,我必须用Java编写一个基本的矩阵,在其中可以放置元素。元素的行和列应该用一个点实现,然后我应该将点与映射中的元素连接起来。有一个方法put(),我可以用它将元素放入这个矩阵中,并保留一个HashMap。我现在的问题是,我无法正确地看到地图中的元素

public boolean get(int row, int column) {
        Point p = new Point();
        p.x = column;
        p.y = row;
        if (matrixMap.containsKey(p)) return true;
        else return false;
    }

    public T put(int row, int column, T value) {
        point.x = column;
        point.y = row;
        this.matrixMap.put(this.point, value);
        return null;
    }
为了测试它,我的get方法只返回true和false。如果用户放入的行和列中有对象,则应返回true。但由于某些原因,它总是返回false。
我将感谢任何帮助

查看您的
put
方法,看起来您总是在
映射中放置相同的键(
this.point
),并对该键进行变异。这是错误的,将导致同一个键在
地图中出现多次

将其更改为:

public T put(int row, int column, T value) 
{
    Point p = new Point();
    p.x = column;
    p.y = row;
    this.matrixMap.put(p, value);
    return value;
}

此外,请确保您的
类覆盖
等于
哈希码

您使用的是标准java点类还是您自己的点类?