Java 中的基本矩阵,get 方法不起作用

Basic Matrix in Java, get method doesn't work

为了我的教育,我必须在 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 方法只有 return 真假。如果用户输入的行和列中有一个对象,它应该 return 为真。但由于某种原因,它总是 return 为假。 如果有任何帮助,我将不胜感激!!

查看您的 put 方法,您似乎总是将相同的键 (this.point) 放入 Map,然后改变该键。这是错误的,会导致同一个键在 Map.

中出现多次

改为:

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;
}

此外,请确保您的 Point class 覆盖 equalshashCode