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 覆盖 equals
和 hashCode
。
为了我的教育,我必须在 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 覆盖 equals
和 hashCode
。