[英]Basic Matrix in Java, get method doesn't work
对于我的教育,我必须在Java中编写一个基本的Matrix,您可以在其中放置元素。 元素的行和列应该用点实现,然后我应该将Point与地图中的元素连接起来。 有一个方法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
方法,看起来你总是在Map
放入相同的键( this.point
),并改变那个键。 这是错误的,并且会导致相同的键在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
类重写equals
和hashCode
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.