假设我有一个用HashMap定义的棋盘
HashMap <Position,Field> chessboard = new HashMap <Position,Field>();
我将Position
声明为
class Position{
int x;
int y;
}
当我尝试为Field
对象创建一个类时遇到问题:Field
应该包含Position
,因为它是由它定义的。实施例
class Field {
Position pos;
int color;
void draw(){
// draw Field using pos
}
}
但是Position对象将用于HashMap。 我怎么能避免这种冗余?
答案 0 :(得分:2)
成本实际上并不是您的想法:您只是将一个引用(大多数系统上的四个字节)保存到内存中的同一个Position
对象。开销很小;别担心。