Question

Supposons que j'ai un échiquier défini avec un HashMap

HashMap <Position,Field> chessboard = new HashMap <Position,Field>();

Je déclare le Position comme

class Position{
  int x;
  int y;
}

Quand j'essaie de créer un cours pour Field objet je rencontre un problème :le Field devrait contenir un Position parce qu'il est défini par lui.Ex.

class Field {
  Position pos;
  int color;
  void draw(){
    // draw Field using pos
  }
}

Mais l'objet Position va être utilisé pour HashMap.Comment pourrais-je éviter cette redondance ?

Était-ce utile?

La solution

Le coût n'est pas vraiment ce que vous pensez :vous ne détenez qu'une seule référence (quatre octets sur la plupart des systèmes) au même Position objet en mémoire.Les frais généraux sont minimes ;ne vous inquiétez même pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top