Como pode um objeto obter a sua chave de um HashMap?
-
20-12-2019 - |
Pergunta
Suponha que eu tenha um tabuleiro de xadrez definido com um HashMap
HashMap <Position,Field> chessboard = new HashMap <Position,Field>();
Eu declaro o Position
como
class Position{
int x;
int y;
}
Quando eu estou tentando fazer uma classe para Field
objeto encontro-me com um problema:o Field
deve conter uma Position
porque ele é definido por ele.Ex.
class Field {
Position pos;
int color;
void draw(){
// draw Field using pos
}
}
Mas a Posição de objeto vai ser usado para HashMap.Como eu poderia evitar esta redundância?
Solução
O custo não é realmente o que você acha:você só tem uma única referência (quatro bytes na maioria dos sistemas) para o mesmo Position
objeto na memória.A sobrecarga é mínima;não se preocupe sobre isso.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow