假设我有一个用 HashMap 定义的棋盘
HashMap <Position,Field> chessboard = new HashMap <Position,Field>();
我将位置
声明为
class Position{
int x;
int y;
}
当我尝试为 Field
对象创建一个类时,遇到一个问题:Field
应该包含一个 Position
因为它已定义通过它。例如。
class Field {
Position pos;
int color;
void draw(){
// draw Field using pos
}
}
但是 Position 对象将用于 HashMap。 我怎样才能避免这种冗余?
最佳答案
成本实际上并不像您想象的那样:您只保留对内存中同一 Position
对象的单个引用(在大多数系统上为四个字节)。开销很小;甚至不用担心。
关于java - 对象如何从 HashMap 中获取其键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24002382/